使用SQL Server控制字符串中的值

时间:2015-07-09 09:35:11

标签: sql-server

我想为每个项目选择一个项目列表和部件号作为字符串:

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'。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我认为您的整个OUTER APPLY语句为default_part_number和连接字符串生成一个XML,其中(整个XML)没有名称。

你可以尝试做的是添加像AS PN(TestThis)这样的别名。

但是,我并不认为您期望得到的结果。如果您给我们一些示例数据和预期输出会更好。在这种情况下,我们将更容易解决您的问题。

答案 1 :(得分:0)

XML和STUFF的结合很有趣,但非常适合您的需求。

首先用','在前面连接你的字符串,然后你必须用“,TPYE”返回你的XML。你必须用“.value()”读取结果并使用STUFF替换第一个','。

你会在网上找到很多例子......