[英]Split a single column into multiple columns
我目前正在努力查詢我們的項目管理軟件(這是一個學校項目)。
我有下表:
projectID | cID | value
---------------|-------------------------
1 | 3 | 321
1 | 4 | 442
2 | 3 | 999
2 | 4 | 799
最終產品應如下所示:
c1 | c2
---------------|-----------------
321 | 442
999 | 799
現在,問題是可以有無限多的 c1、c2 等和無限多的項目。 所以桌子會變得很大(在兩個方向)。
有沒有辦法讓列聲明“自身”? 如果沒有,假設我將 c1、c2、.. 的數量限制為 5,我該怎么做? 我試過類似的東西:
select v1.value, v2.value from value v1, value v2
我相信使用條件聚合應該可以得到你的旋轉結果:
select
max(case when cid = 3 then value end) as c1,
max(case when cid = 4 then value end) as c2,
...
from yourtable
group by projectid
是的,有一種方法可以通過字符串操作和連接在 MySQL 過程中構建動態語句,然后使用EXECUTE
執行它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.