如何在SQL Server中使用group_concat进行查询 [英] How to make a query with group_concat in sql server
问题描述
我知道在sql server中我们不能使用Group_concat
函数,但这是我需要查询Group_Concat
的一个问题.我在google上找到了一些逻辑但无法纠正它.我的sql查询是
I know that in sql server we cannot use Group_concat
function but here is one issue i have in which i need to Group_Concat
my query.I google it found some logic but not able to correct it.My sql query is
select m.maskid,m.maskname,m.schoolid,s.schoolname,
md.maskdetail
from tblmask m join school s on s.id = m.schoolid
join maskdetails md on m.maskid = md.maskid
order by m.maskname ;
它给我的结果就像
仅需查看前3行,因为maskid,maskname,schoolid,schoolname相同,但maskdetail不同,所以要排成一行,其中最后一列可以按maskid包含所有maskdetail,依此类推.
Just look first 3 rows In that maskid,maskname,schoolid,schoolname is same but maskdetail is different so want to one row for that in which last column can contain all maskdetails as per maskid and so on.
我希望输出类似
以此类推.因此,在进行查询时请帮助我.
And so on.So please help me while making a query for that.
谢谢.
推荐答案
查询:
SELECT
m.maskid
, m.maskname
, m.schoolid
, s.schoolname
, maskdetail = STUFF((
SELECT ',' + md.maskdetail
FROM dbo.maskdetails md
WHERE m.maskid = md.maskid
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM dbo.tblmask m
JOIN dbo.school s ON s.ID = m.schoolid
ORDER BY m.maskname
其他信息:
这篇关于如何在SQL Server中使用group_concat进行查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!