在sql server中如何用逗号分隔列值
我的问题是:在sql server中如何用逗号分隔列值,sql,sql-server,Sql,Sql Server,我的问题是: select gp.GroupName+ '' As GroupName, us.UnitsName+'' As Unitname, sp.Sensorname+',' As sensorName from Grouping as gp inner join Units as us on gp.UnitsID = us.UnitsID inner join Sensors as sp on gp.SensorID = sp.SensorID 输出是 GroupName
select
gp.GroupName+ '' As GroupName,
us.UnitsName+'' As Unitname,
sp.Sensorname+',' As sensorName
from Grouping as gp
inner join Units as us
on gp.UnitsID = us.UnitsID
inner join Sensors as sp
on gp.SensorID = sp.SensorID
输出是
GroupName Unitname sensorName
G1 Electricity S1,
G1 Electricity S3,
G2 Gas test,
但是输出应该是
G1 Electricity S1,S3
G2 Gas test
如何得到它?非常感谢:)它完全符合我的需要。非常感谢:)它完全符合我的需要
WITH CTE
AS
(
select
gp.GroupName As GroupName,
us.UnitsName As Unitname,
sp.Sensorname As sensorName
from Grouping as gp
inner join Units as us on gp.UnitsID = us.UnitsID
inner join Sensors as sp on gp.SensorID = sp.SensorID
)
SELECT
c1.Groupname,
c1.Unitname,
STUFF((
SELECT ', ' + c2.sensorName
FROM CTE c2
WHERE c2.GroupName = c1.GroupName
AND c2.Unitname = c1.Unitname
FOR XML PATH (''))
,1,2,'') AS Sensors
FROM CTE c1
GROUP BY c1.GroupName,
c1.Unitname;