我正在尝试使用以下代码向视图添加一列:
SELECT ';' + CONTEXT as DriverNotes,
(STUFF((SELECT CustomerID FROM Notes E2 WHERE E2.CustomerID IN (Notes.CustomerID)
FOR XML PATH(''), TYPE, ROOT).value('root[1]','nvarchar(5)'),1,0,'')) as CustomerID FROM NOTES
就其本身而言,它可以正常工作。但是,当我在视图中运行它时,出现以下错误:
“当未将EXISTS引入子查询时,在选择列表中只能指定一个表达式。”
我意识到这里的代码试图调用两列,这就是给我的错误,但是我只想要一个,那将是CONTEXT。我需要它与Notes.CustomerID相关联,但查询中不会出现该列。
我对此还很陌生,因此任何帮助将不胜感激。
答案 0 :(得分:0)
检查此查询。我认为这就是您想要的:
SELECT Notes.CustomerId,
STUFF(
(SELECT ';' + CONTEXT FROM Notes E2
WHERE E2.CustomerId = Notes.CustomerId
FOR XML PATH ('')), 1, 1, ''
) DriverNotes
FROM Notes /*Probably it should be Customer table */
GROUP BY Notes.CustomerId