簡體   English   中英

將單列拆分為多列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM