注册 登录
编程论坛 SQL Server论坛

子查询返回的值不止一个

武定伟 发布于 2013-06-11 21:41, 990 次点击
select 设备编号  from 设备设施信息  where 设备编号!=(select 设备编号 from 预警处理结果 where 处理结果='完成') and 使用到期年='2014' or 使用到期年<='2013')

子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

怎么解决?
4 回复
#2
夏悠然2013-06-14 22:54
你的括号多了一半还是少了一半啊??括号没有成对出现
#3
3037709572013-06-17 11:21
select 设备编号  from 设备设施信息  
where 设备编号 not in
(select 设备编号 from 预警处理结果 where 处理结果='完成')
and 使用到期年='2014'
or 使用到期年<='2013'
#4
chenpengfei12013-06-18 16:03
用not exist 也可以 只不过再查信息时必须以表为单位,not in则是可以以行为单位进行查询 但在意思上没有啥区别
select 设备编号  from 设备设施信息  
where 设备编号 not exist
(select* from设备设施信息 where (设备编号 from 预警处理结果 where 处理结果='完成'))
and 使用到期年='2014'
or 使用到期年<='2013'
#5
QJlin2013-07-04 13:58
用in做啊
1