我有一个表location
,其中包含A1, A2, A3...
列中的值id
等。我还有另一张表location_color
:
A1 blue
A1 red
A1 green
A2 yellow
A2 red
A3 blue
A3 red
.
.
现在我想查询,结果就像这样
blue,red,green
yellow,red
Blue, red
我的查询是
select location_color.color
from location_color
where location.id = location_color.location_id
但它不起作用。
答案 0 :(得分:1)
假设您正在使用SQL Server,可以使用以下内容:
SELECT location_id, stuff((
select DISTINCT ',' + u.location_color
from #temp u
where u.location_id = t.location_id
for xml path('')
),1,1,'') as location_color_csv
FROM #temp t
GROUP BY t.location_id