用子查询的方法查找所有收入在2500以下的雇员情况
use yggl
select*
from employees
where employeeid=
(select employeeid
from salary
where income < 2500
)
go
提示错误:子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
要怎么修改?
哪位高手告诉一下。
多谢!!
use yggl
select*
from employees
where employeeid=
(select employeeid
from salary
where income < 2500
)
go
提示错误:子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
要怎么修改?
哪位高手告诉一下。
多谢!!
use yggl
select*
from employees
where employeeid in
(select employeeid
from salary
where income < 2500
)
go
等号要求子查询返回一个值,而你的子查询中返回的是所有income < 2500的员工号集合,所以出错。
select*
from employees
where employeeid in
(select employeeid
from salary
where income < 2500
)
go
select*
from employees
where employeeid in
(select employeeid
from salary
where income < 2500
)
go
说明你的select 子查询返回的结果不只一个,where employeeid=无法匹配