SQL问题:错误代码:1242。子查询返回超过1行
目标 我只想选择工资高于公司员工的员工的详细信息 我所尝试的: 问题: 当我执行这个查询时,它显示:错误代码:1242。子查询返回多行: 为了消除上述错误,我已尝试: 我知道,通过对查询提供限制,它不会提供所需的输出,但它会删除子查询返回的行错误超过1个,当我执行此查询时,它会在输出处提供空白行和列 因此,任何人都可以帮助我在查询中选择所需的细节 我想你想要:SQL问题:错误代码:1242。子查询返回超过1行,sql,join,subquery,Sql,Join,Subquery,目标 我只想选择工资高于公司员工的员工的详细信息 我所尝试的: 问题: 当我执行这个查询时,它显示:错误代码:1242。子查询返回多行: 为了消除上述错误,我已尝试: 我知道,通过对查询提供限制,它不会提供所需的输出,但它会删除子查询返回的行错误超过1个,当我执行此查询时,它会在输出处提供空白行和列 因此,任何人都可以帮助我在查询中选择所需的细节 我想你想要: select e.emp_id, e.emp_name, d.dept_name, e.sala
select
e.emp_id,
e.emp_name,
d.dept_name,
e.salary,
c.company_name
from emp e
inner join department d on e.emp_id = d.emp_id
inner join company c on d.dept_id = c.dept_id
where e.salary > (
select max(e1.salary)
from emp e1
inner join company c1 on c1.dept_id = e1.dept_id
where c1.company_name = 'HCL'
);
这将为您提供高于HCL公司所有工资的员工。我认为您需要:
select
e.emp_id,
e.emp_name,
d.dept_name,
e.salary,
c.company_name
from emp e
inner join department d on e.emp_id = d.emp_id
inner join company c on d.dept_id = c.dept_id
where e.salary > (
select max(e1.salary)
from emp e1
inner join company c1 on c1.dept_id = e1.dept_id
where c1.company_name = 'HCL'
);
这将为您提供薪资高于公司HCL所有薪资的员工。company.company\u名称看起来不正确,但某些数据库支持行中嵌套的记录结构。我想你的数据库是这样的
我建议您选择以下选项之一:
-- greater than the average
where emp.salary > (select avg(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
-- greater than all
where emp.salary > (select max(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
-- greater than any
where emp.salary > (select min(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
company.company\u名称看起来不正确,但某些数据库确实支持行中的嵌套记录结构。我想你的数据库是这样的
我建议您选择以下选项之一:
-- greater than the average
where emp.salary > (select avg(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
-- greater than all
where emp.salary > (select max(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
-- greater than any
where emp.salary > (select min(Emp.Salary)
from emp
where Company.company_name = 'HCL'
);
HCL是否只有一名员工?company.company_名称似乎没有定义。最好将样本数据显示为。有关如何创建美观的表的一些提示,请参阅。HCL是否只有一名员工?company.company\u名称似乎未定义。最好将示例数据显示为。有关如何创建美观的桌子的一些提示,请参见。先生,您回答了我的问题,我感到非常自豪。我从你之前关于stockoverflow的回答中学到了很多东西,但这个答案也在输出中提供了空白行和空白列。@GMB的上述回答帮助了meSir,你回答了我的问题,我感到非常自豪。我从你以前关于股票溢出的回答中学到了很多,但这个答案也在输出中提供了空白行和列。@GMB的上述回答帮助我,其中e.salary>选择maxe1.salary from emp e1内部加入公司c1 on c1.dept_id=e1.emp_id其中c1.company_name='HCL';我正在使用连接,您更正了:查询中的内部连接是changes@AjStyles:内部联接和联接只是同义词,没有问题。其中e.salary>在c1.dept_id=e1.emp_id中从emp e1内部联接公司c1选择maxe1.salary,其中c1.company_name='HCL';我正在使用连接,您更正了:查询中的内部连接是changes@AjStyles:内部连接和连接只是同义词,没有问题。