我想获得与给定ID匹配的所有标签:
select tag where id = 101 //returns 4 rows
soup
nuts
juice
milk
只有现在,我想将其用作子查询 -
select idList, (select tag where id = 101) itemsOnList, shopper from assignedLists
变为:
10 | soup,nuts,juice,milk | Mom
答案 0 :(得分:1)
这实际上是一件非常棘手的事情。 我见过的最好的参考是here。以下查询来自该文章中的示例。还有更多选择。
select
idList,
(
select name + ','
from tag
where id = 101
for xml path('')
) as itemsOnList,
shopper
from
assignedLists
答案 1 :(得分:0)
检查this。需要免费订阅(如果您是sql程序员,则无论如何都需要访问此站点)
答案 2 :(得分:0)
查看PIVOT命令。它不会完全符合您的要求,但它是相似的。如果你想真正做到这一点,即将数据集转换为逗号分隔字符串的标量值,则必须创建一个带有表参数的用户定义标量函数。