【发布时间】:2015-05-07 16:24:13
【问题描述】:
我在使用案例时收到此消息,我不想让表达式检查 id 是否为空,这将是不必要的额外代码。
子查询返回超过 1 个值。这是不允许的,当 子查询遵循 =、!=、、>= 或当子查询用作 一个表达式。
declare @idchar(2)
set @id= ''
select names from Units
where id in(
case @id
when '' then (select id from Units)
else @id
end
)
【问题讨论】:
-
嗯,当然。您将子查询用作表达式,它只允许您获得一个结果。你的问题是什么,你想做什么?
-
@Luaan 我希望用户通过组合框搜索特定 id 或搜索全部(id 为''时的情况)
-
是的,你根本不需要子查询 :)
标签: sql-server case