![](/img/trans.png)
[英]selecting values from multiple records in one row but different columns in SQL
[英]SQL get multiple values of columns in one row
我正在使用MS Sql Server 2008 R2。 我有一个查询,给我这样的输出
Col1....Col2
CV1.....AV1
CV1.....AV2
CV2.....AV3
CV2.....AV4
查询是
select Tab1.Col1, Tab2.Col2
from Table1 Tab1
JOIN Table2 Tab2 on Tab1.PKID = Tab2.FKID
我想要的是在Col1和Col2中每个不同值的一行,所有与col1相关的值都用逗号或管道定界符
Col1....Col2
CV1.....AV1,AV2
CV2.....AV3,AV4
谁可以帮我这个事?
基本上我需要在My sql中可用的诸如group_concat之类的东西
CREATE TABLE a(
Col1 varchar(50),
Col2 varchar(20));
INSERT INTO a (Col1,Col2) values ('CV1','AV1');
INSERT INTO a (Col1,Col2) values ('CV1','AV2');
INSERT INTO a (Col1,Col2) values ('CV2','AV3');
INSERT INTO a (Col1,Col2) values ('CV2','AV4');
with t as (SELECT Col1,(CAST(Col2 AS nvarchar (12))) as col2 from a )
Select distinct T2.Col1,
substring((Select ',' + T1.col2 AS [text()]
From t T1
Where T1.Col1 = T2.Col1
ORDER BY T1.Col1
For XML PATH ('')),2, 100) [col2]
From t T2
试试这个查询。 我在sql server中做。 检查sqlfidddle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.