2017-07-17 60 views
0

如何使用STUFF函数两次在选择在SQL如何使用STUFF函数两次在选择在SQL

表是:

+----+---------+-----------+ 
| Id | col_name|value  | 
+----+---------+-----------+ 
| 1 | name | mar  | 
+----+---------+-----------+ 
| 1 | family | ah  | 
+----+---------+-----------+ 
| 1 | phone | 336  | 
+----+---------+-----------+ 
| 1 | ID  | 1001  | 
+----+---------+-----------+ 
| 1 | email | [email protected]| 
+----+---------+-----------+ 
Required output: 
+----+---------------------------+---------------------------+ 
| Id |  COL_NAME    |   Values   | 
+----+---------------------------+---------------------------+ 
| 1 | Name,Family,Phone,ID,Email| mar,ah,336,1001,[email protected]| 
+----+---------------------------+---------------------------+ 

在两列,价值观的输出必须安排为COL_NAME

+1

地段concats(加聚结)的? – dnoeth

+1

用您正在使用的数据库标记您的问题。 –

+1

不幸的是,STUFF被误认为是来自另一个DBMS的聚合级联函数,因此用'stuff()'函数提及'sql-server'重新标记了 –

回答

0

这不是你要的吗?

select id, 'Name,Family,Phone' as col_name, 
     concat(Name, ',', Family, ', ', Phone) as values 
from t; 

(注:values是一个SQL关键字所以它是一个列别名一个不好的名字)