--建立table變數
DECLARE @T1 AS TABLE (
busid NVARCHAR(20)
, drivername NVARCHAR(20)
, insurlistnum NVARCHAR(10)
, insurchildname NVARCHAR(10)
);
--新增資料
INSERT INTO @T1 ( busid , drivername , insurlistnum , insurchildname )
VALUES
( N'吉A30241' , N'高 明' , N'PICC12345' , N'死亡伤残赔偿' )
, ( N'吉A30241' , N'高 明' , N'PICC12345' , N'医疗费用赔偿' )
,( N'吉A30241' , N'高 明' , N'PICC12345' , N'财产损失赔偿' );
--撈出資料
SELECT * FROM @T1;
做法1,用變數及COALESCE來串接
DECLARE @str NVARCHAR(MAX)
SELECT @str = COALESCE(@str + ', ', '') + [insurchildname]
FROM @T1;
SELECT DISTINCT busid ,
drivername ,
insurlistnum ,
@str AS [险种] FROM @T1;
做法2,透過FOR XML及STUFF
FOR XML那行再加上WHERE條件
SELECT DISTINCT busid ,
drivername ,
insurlistnum ,
STUFF( (SELECT ', ' + insurchildname from @T1 FOR XML PATH('')), 1, 1, '')
AS [险种] FROM @T1;
沒有留言:
張貼留言