SQL-子查询不随EXISTS一起引入
我正在尝试更新除第一个(最低)账号以外的所有SQL-子查询不随EXISTS一起引入,sql,sql-server,Sql,Sql Server,我正在尝试更新除第一个(最低)账号以外的所有信用计数,但我一直收到此错误: 味精116,第16级,状态1,第8行 当子查询未引入EXISTS时,只能在选择列表中指定一个表达式 以下是查询: update Recog set livesCount = 0 where RECID in (select r.empNumber, r.acctNbr, r.creditCount, r.groupAcctNumber, r.groupType
信用计数,但我一直收到此错误:
味精116,第16级,状态1,第8行
当子查询未引入EXISTS时,只能在选择列表中指定一个表达式
以下是查询:
update Recog
set livesCount = 0
where RECID in (select
r.empNumber, r.acctNbr, r.creditCount, r.groupAcctNumber, r.groupType
from
Recog r
where
creditCount > 0
and policyNbr in
(
(Select acctNbr from Recog)
except
(Select MIN(acctNbr)
from Recog
Group By groupAcctNumber, groupType)
)
)
如何修复它?正如错误所述,您正在子查询中选择多个列,只需选择一个就可以了
update Recog
set livesCount = 0
where RECID in (
select r.RECID
from Recog r
where creditCount > 0 and
policyNbr in ((Select acctNbr from Recog)
except (Select MIN(acctNbr) from Recog Group By groupAcctNumber,groupType)))
为了让它更清楚,想象一下,如果用列数据代替子选择,语句会是什么样子
update Recog
set livesCount = 0
where RECID in (1, 'Account 123', 12, 'Group 123', 'Type X') -- Makes no sense
你说的是RECID在哪里…
然后给它5个字段。在
中执行操作时,只能选择一个。