我已經在網上看了幾天瞭如何在sql server上使用STUFF,我看到的大多數例子都只涉及到兩個表,我的查詢是通過3個表,我只是可以「弄不明白在這裏工作是沒有STUFF功能,讓我所有我想要的數據查詢:SQL Server字符串Concat與東西
select c.category_name,r.role_name
from categories as c
join role_categ as rc on c.category_id=rc.category_id
join roles as r on r.role_id=rc.role_id
where rc.c_read='1';
我想要的是你有一個CATEGORY_NAME然後標識希望所有的role_names在第一排中的一個單元中:
BCM-Télécopieur-photocopieur Admin,Administation
在這裏我有什麼用那東西的功能,但不工作僅僅指剛給我同桌的其他查詢
select c.category_name,STUFF((
select ','+r.role_name
from roles as r
where rc.role_id=r.role_id
for xml path('')),1,1,'')
from role_categ as rc
join categories as c on c.category_id=rc.category_id
任何幫助,將不勝感激。
嘗試增加'選擇DISTINCT'主查詢和改變'''到-' – lad2025
'STUFF'沒有按不做任何字符串連接。 'FOR XML'在這裏做了繁重的工作,產生了一個像',abc,def,ghi'這樣的字符串。 「STUFF」所做的就是刪除那個逗號。 –