我的问题很简单:
我一直试图从
转换表格的输出1 a
1 b into 1 a b c
1 c
2 d
2 e into 2 d e f
2 f
该表将始终包含3行,这些行将成为一个包含4列的表格。
我尝试循环并卡住了......
编辑:适用于SQL_SERVER
答案 0 :(得分:0)
对于MY_SQL
SELECT A, group_concat(B SEPARATOR " ") as BResult
FROM TABLE
GROUP BY A
但是,如果您只是尝试将行转换为列...
如果你的dbms支持它,你可以使用cte。 你可以看看枢轴。如果您的rdbms支持它。
答案 1 :(得分:0)
您可以使用FOR XML PATH
构造来模拟MySQL的GROUP_CONCAT
,如下所示:
select
ID,
stuff((select ' ' + Value
from YourTable t2 where t1.ID = t2.ID
for xml path('')),
1,2,'') [Values]
from YourTable t1
group by ID
关于该主题的其他答案: