获取错误"Only one expression can be specified in the select list..."



我正试图用以下代码向视图添加一列:

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引入子查询,则在选择列表中只能指定一个表达式。">

我意识到这里的代码试图调用两个列,这就是给我错误的原因,但我只想要一个,那就是上下文。我需要它与Notes.CustomerID关联,但查询中不显示该列。

我对这件事还很陌生,所以任何帮助都将不胜感激。

检查此查询。我想这就是你想要的:

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

相关内容

最新更新