Sql 没有为列错误指定列名称
我试图从使用XML路径连接的数据中删除尾随逗号 当我将XML路径查询嵌套在左函数查询中时,会出现各种各样的错误 它给了我 不正确的语法错误“嵌套”) 指向[tb]前面的结束括号 当我使用alias进行内部查询时,它会 未指定任何列 这是我的问题Sql 没有为列错误指定列名称,sql,xml,Sql,Xml,我试图从使用XML路径连接的数据中删除尾随逗号 当我将XML路径查询嵌套在左函数查询中时,会出现各种各样的错误 它给了我 不正确的语法错误“嵌套”) 指向[tb]前面的结束括号 当我使用alias进行内部查询时,它会 未指定任何列 这是我的问题 select LEFT(tb.col1, LEN(tb.col1) - 2) from (select col1 + ', ' from tabSample where
select
LEFT(tb.col1, LEN(tb.col1) - 2)
from
(select
col1 + ', '
from
tabSample
where
tabId = XXXX
For XMl Path('') ) [tb]
任何帮助都将不胜感激
谢谢
在值前面添加逗号,然后使用STUFF
函数删除第一个逗号。上面的示例只处理前面的逗号问题
您可能还需要查看整个查询。谢谢您的回答。但我仍然得到“未指定列名错误”:(粘贴您使用的整个查询。这里的意思是没有指定列,因为您将此XML查询用作内部查询,并且当使用此语法时,您的内部查询必须为从查询库返回的每个列都有一个列名。使用表名添加columnName起作用。谢谢,这不是问题,很高兴它能帮助您现在接受答案:)
select STUFF((select ', ' + col1
from tabSample
where tabId = XXXX
For XMl Path(''),TYPE).
value('.','NVARCHAR(MAX)'),1,2,'')