将列结果集转换为行SQL Server

时间:2019-02-25 20:11:34

标签: sql-server tsql

我是StackOverflow的新手,这是我的第一篇文章。

这是我想要实现的目标, 我想在单行中打印id = 1的所有名称

这是我要针对ID = 1查询实现的结果

ID名称 1汤姆·史密斯,保罗·沃克,彼得·罗宾

这是样本表

CREATE TABLE myData(
ID INT NOT null, 
FirstName NVARCHAR(20),
LastName NVARCHAR(20)
)

INSERT INTO myData
VALUES(1,'Tom','Smith')
INSERT INTO myData
VALUES(2,'Jared','Williams')
INSERT INTO myData
VALUES(1,'Paul','Walker')
INSERT INTO myData
VALUES(4,'Mary','Elisabeth')
INSERT INTO myData
VALUES(1,'Peter','Robin')
INSERT INTO myData
VALUES(2,'Chen','Leo')

1 个答案:

答案 0 :(得分:0)

尝试[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)] string_agg

group by

对于旧版本的Sql Server

select id, string_agg(Concat(FirstName, ' ', LastName),',')
from myData
group by id