没有为列错误指定列名

时间:2014-03-04 20:57:17

标签: sql xml

我正在尝试从使用XML路径连接的数据中删除尾随逗号。

当我在LEFT函数查询中嵌套XML Path查询时,我会遇到各种错误。

它给了我

  

语法错误nest')'

不正确

指向[tb]之前的结束括号。

当我为内部查询使用别名时,它会给我

  

未指定列

这是我的查询

select 
    LEFT(tb.col1, LEN(tb.col1) - 2)
from 
    (select 
        col1 + ', '
     from 
        tabSample 
     where 
        tabId = XXXX
     For XMl Path('') ) [tb]

任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:3)

select STUFF((select  ', ' + col1 
              from tabSample 
              where tabId = XXXX
              For XMl Path(''),TYPE).
              value('.','NVARCHAR(MAX)'),1,2,'')

在值前添加逗号,然后使用STUFF函数删除第一个逗号。以上示例仅处理主要的逗号问题。

您可能还需要查看整个查询。