滄海一幻覺
2019-05-31 16:37:40
如何在sql server中使用group_conat進行查詢我知道在sql server中我們不能使用Group_concat函數,但是這里有一個我需要處理的問題Group_Concat我在谷歌上發現了一些邏輯,但無法糾正。我的SQL查詢是select m.maskid,m.maskname,m.schoolid,s.schoolname,md.maskdetailfrom tblmask m join school s on s.id = m.schoolid
join maskdetails md on m.maskid = md.maskidorder by m.maskname ;它給我的結果就像只需查看前3行的那個男孩兒,面具名,學校名稱是相同的,但掩蔽細節是不同的,所以要為最后一列可以包含所有掩蔽細節的行,如每個mashchild,以此類推。我想要我的輸出等等,所以請在查詢的時候幫助我。提前謝謝。
3 回答

手掌心
TA貢獻1942條經驗 獲得超3個贊
這也可以使用Scalar-Valued Function在……里面MSSQL 2008
聲明您的功能如下,
CREATE FUNCTION [dbo].[FunctionName]
(@MaskId INT)
RETURNS Varchar(500)
AS
BEGIN
DECLARE @SchoolName varchar(500)
SELECT @SchoolName =ISNULL(@SchoolName ,'')+ MD.maskdetail +', '
FROM maskdetails MD WITH (NOLOCK)
AND MD.MaskId=@MaskId
RETURN @SchoolName
END
然后您的最后查詢將是
SELECT m.maskid,m.maskname,m.schoolid,s.schoolname,
(SELECT [dbo].[FunctionName](m.maskid)) 'maskdetail'
FROM tblmask m JOIN school s on s.id = m.schoolid
ORDER BY m.maskname ;
注:您可能需要更改函數,因為我不知道完整的表結構。
添加回答
舉報
0/150
提交
取消