我想为每个项目选择一个项目列表和部件号作为字符串:
SELECT top 100 *
FROM ii
OUTER APPLY
(SELECT def, ( ipr.part_number + ',') as prt
FROM ipr
WHERE ii.item_id = ipr.item_id
FOR XML PATH('') ) PN
错误是:
[错误代码:8155,SQL状态:S0002]未指定列名 第1栏'PN'。
我该如何解决这个问题?
答案 0 :(得分:1)
我认为您的整个OUTER APPLY
语句为default_part_number
和连接字符串生成一个XML,其中(整个XML)没有名称。
你可以尝试做的是添加像AS PN(TestThis)
这样的别名。
但是,我并不认为您期望得到的结果。如果您给我们一些示例数据和预期输出会更好。在这种情况下,我们将更容易解决您的问题。
答案 1 :(得分:0)
XML和STUFF的结合很有趣,但非常适合您的需求。
首先用','在前面连接你的字符串,然后你必须用“,TPYE”返回你的XML。你必须用“.value()”读取结果并使用STUFF替换第一个','。
你会在网上找到很多例子......