我需要一些帮助,在我的数据库中我有很多对很多的关系,所以我创建了一个aux表来建立1对多的关系,表是下一个。
offices request request_x_offices
------- --------- ------------------
id id id_request
office_name name id_office
所以,当我对request_x_offices
进行查询时,我会得到一些像下一个
request_x_offices
-----------------
id_request| id_office
-----------------
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3 etc...
在我联系后用办公室名称替换offices_id
后我得到了下一个
id_request|office_name
-----------------
1 | office_name1
1 | office_name2
1 | office_name3
2 | office_name1
2 | office_name3
2 | office_name5
但我希望得到类似下一个的东西。
------
id_request|office_name
1 |office_name1, office_name2, office_name3
2 |office_name1, office_name3, office_name5
我尝试了一个合并,但我只得到一行所有id的所有office_name :(
任何帮助都将不胜感激,谢谢你的时间。
答案 0 :(得分:0)
试试这个:
SELECT p1.ID,
( SELECT NAME + ' and '
FROM YourTable p2
WHERE p2.ID = p1.ID
ORDER BY NAME
FOR XML PATH('') ) AS Name,
sum(Amount)
FROM YourTable p1
GROUP BY ID ;