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