Sql server 用于连接多行SQL Server 2008 R2中的列值的查询
如何连接多行中的列值 表ASql server 用于连接多行SQL Server 2008 R2中的列值的查询,sql-server,tsql,sql-server-2008-r2,Sql Server,Tsql,Sql Server 2008 R2,如何连接多行中的列值 表A FName LName amount Id --------------------- A B 100 1 A B 200 2 A C 400 3 A B 300 4 我需要这样的结果: FName LName totalAmount count Id ------------------------------------ A B 600
FName LName amount Id
---------------------
A B 100 1
A B 200 2
A C 400 3
A B 300 4
我需要这样的结果:
FName LName totalAmount count Id
------------------------------------
A B 600 3 1,2,4
A C 400 1 3
如何得到它
请帮帮我
谢谢和问候
Vineetha..测试数据
查询
结果
到目前为止你都做了些什么?你是个救生员!!我一直在为我的问题寻找解决方案,你的答案对我很有用……谢谢你,阿里。)
DECLARE @TABLE_A TABLE
(FName VARCHAR(10), LName VARCHAR(10), amount INT, Id INT)
INSERT INTO @TABLE_A VALUES
('A','B',100,1),
('A','B',200,2),
('A','C',400,3),
('A','B',300,4)
SELECT A.FName
,A.LName
,SUM(A.amount) AS totalAmount
,COUNT(*) AS [COUNT]
,STUFF((
SELECT ',' + CAST(ID AS NVARCHAR(10))
FROM @TABLE_A
WHERE FName = A.FName AND LName = A.LName
FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)'),1,1,'') AS ID
FROM @TABLE_A A
GROUP BY A.FName
,A.LName
╔═══════╦═══════╦═════════════╦═══════╦══════════╗
║ FName ║ LName ║ totalAmount ║ COUNT ║ ID ║
╠═══════╬═══════╬═════════════╬═══════╬══════════╣
║ A ║ B ║ 600 ║ 3 ║ 1,2,4 ║
║ A ║ C ║ 400 ║ 1 ║ 3 ║
╚═══════╩═══════╩═════════════╩═══════╩══════════╝