【发布时间】:2014-03-19 04:50:01
【问题描述】:
如何在 SQL Server 中获取以逗号分隔的列值。下面显示的是我的 sql 查询#
select BandName from BandMaster where BandId<100
我需要在单个查询中以逗号分隔获取 BandName 值。
【问题讨论】:
-
任何特定版本的 SQL Server?
标签: sql sql-server
如何在 SQL Server 中获取以逗号分隔的列值。下面显示的是我的 sql 查询#
select BandName from BandMaster where BandId<100
我需要在单个查询中以逗号分隔获取 BandName 值。
【问题讨论】:
标签: sql sql-server
Use XML path for this.
select (select BandName+',' from BandMaster where BandId<100 for xml path('')) as NewColumnName
Try this
【讨论】:
试试这个
SELECT BandName =
STUFF ( ( SELECT ','+InrTab.BandName
FROM [Table1] InrTab
WHERE InrTab.BandId= OutTab.BandId
AND InrTab.BandId < 100
ORDER BY InrTab.BandId
FOR XML PATH(''),TYPE
).value('.','VARCHAR(MAX)')
, 1,1,SPACE(0))
FROM [Table1] OutTab
GROUP BY OutTab.BandId;
【讨论】:
请试试这个
SELECT GROUP_CONCAT(BandName) from BandMaster where BandId<100.
【讨论】:
Declare @retStr varchar(max) = ''
select @retStr = @retStr + BandName + ',' from BandMaster
where BandId<100
Select @retStr
【讨论】: