执行该存储过程时收到错误消息,该消息是:SQL SP - 只有一个表达式可以在选择列表中指定当子查询不与引入EXISTS
消息116,级别16,状态1,过程stpr_SP1,第42行 当子查询未与EXISTS一起引入时,只能在选择列表中指定一个表达式。 消息116,级别16,状态1,过程stpr_SP1,55线 只有一个表达式可以在选择列表中指定时不与引入的子查询存在。
任何人都可以在这方面帮助,因为我卡住了!以下是代码,谢谢。
SELECT CASE @GroupType WHEN 'Store' THEN
(select top 100 percent dbo.Table1.Field1
,dbo.Table1.Location
,count(dbo.Table1.URN) AS [OrderCount]
,convert(numeric(18,2),avg(dbo.Table1.Value)) AS [ValueAvg]
FROM dbo.Table1
GROUP BY dbo.Table1.Field1
,dbo.Table1.Location
ORDER BY dbo.Table1.Field1 ASC
,dbo.Table1.Location ASC)
WHEN 'Customer' THEN
(select top 100 percent dbo.Table1.Field1
,dbo.Table1.InvoiceCode
,dbo.Table1.Location
,count(dbo.Table1.URN) AS [OrderCount]
,convert(numeric(18,2),avg(dbo.Table1.Value)) AS [ValueAvg]
FROM dbo.Table1
GROUP BY dbo.Table1.Field1
,dbo.Table1.InvoiceCode
,dbo.Table1.Location
ORDER BY dbo.Table1.Field1 ASC
,dbo.Table1.InvoiceCode ASC
,dbo.Table1.Location ASC)
END
一个标量子查询只能返回一列。你的代码不会工作。也许你只是想'如果'而不是'select case'。 –
@GordonLinoff和1行 –
你正在使用哪个dbms? (该代码是产品特定的。) – jarlh