我的问题很简单:
我一直在尝试将表格的输出从
1 a
1 b into 1 a b c
1 c
2 d
2 e into 2 d e f
2 f
该表将始终具有 3 行的集合,这些行将成为具有 4 列的表,如上所示。
我尝试循环并卡住了......</p>
编辑:适用于 SQL_SERVER
我的问题很简单:
我一直在尝试将表格的输出从
1 a
1 b into 1 a b c
1 c
2 d
2 e into 2 d e f
2 f
该表将始终具有 3 行的集合,这些行将成为具有 4 列的表,如上所示。
我尝试循环并卡住了......</p>
编辑:适用于 SQL_SERVER
您可以使用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
关于该主题的其他答案:
对于 MY_SQL
SELECT A, group_concat(B SEPARATOR " ") as BResult
FROM TABLE
GROUP BY A
但是,如果您只是想将行转换为列...
如果您的 dbms 支持,您可以使用 cte。你可以看看支点。如果您的 rdbms 支持它。