我需要从我从union子句获得的结果中获取两个表的数据,并向结果中再添加一个where子句
select * from (select a.empid,a.department from EMPLOYEE a
union
select b.empid,b.empname from employeedetails b) t where a.empid=1;
答案 0 :(得分:1)
a
未在外部查询中定义。 t
是:
where t.empid = 1;
答案 1 :(得分:0)
此UNION
不会执行您想要的操作,因为您要混合使用不同的列。
在您的情况下,您的查询结果将是2行,其中在第一行中将具有员工的ID和部门,在第二行中将具有员工的ID和名称。
您需要的是联接:
select e.empid, e.department, d.empname
from EMPLOYEE e inner join employeedetails d
on d.empid = e.empid
where e.empid = 1