如果我做
SELECT * FROM cte1 c
WHERE c.GrantNumber NOT IN
(
SELECT t1.nai_grant_number FROM #temp t1
)
这工作正常。
但如果我这样做
SELECT * FROM cte1 c
WHERE c.GrantNumber NOT IN
(
CASE WHEN
@AutoRenewalChk = 1 THEN
(
SELECT t1.nai_grant_number FROM #temp t1
) END
)
出错
消息 512,级别 16,状态 1,第 33 行子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
是什么原因?我们不能像上面那样使用 case 语句吗?
谢谢