2014-11-05 32 views
0

我有一个表,看起来像这样:从多行的表创建一个单行结果

id  value 
1   0 
1   0 
1   5 
1   0 
2   0 
2   0 
2   10 
2   0 

我想我的结果集的样子:

id value  value  value value  etc. 
1 0   0   5  0 
2 0   0   10  0 
+0

你正在使用哪种RDBMS? MySQL,SQL服务器,Oracle,...? – Barranka 2014-11-05 17:20:12

+3

查看数据透视表/动态数据透视表 – Milen 2014-11-05 17:20:26

+1

如果您未定义一个BTW,则SQL不会按照定义的顺序返回记录。 – 2014-11-05 17:20:34

回答

0

尽我所能做到因为你是这个(假设MySQL)

SELECT id, GROUP_CONCAT(value ORDER BY value ASC SEPARATOR ',') 
FROM  tbl 
GROUP BY id; 
+0

谢谢。这是如何在SQL Server中完成的? – 2014-11-05 17:38:31

+0

我认为有一个类似的STUFF()函数 – Sergey 2014-11-06 01:58:25