Невозможно получить данные, используя предложение where для результата предложения union - PullRequest
0 голосов
/ 30 марта 2020

Мне нужно получить данные из двух таблиц из результата, который я получаю из предложения 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;

Я получаю эту ошибку. enter image description here

Ответы [ 2 ]

1 голос
/ 30 марта 2020

a не определен во внешнем запросе. t это:

where t.empid = 1;
0 голосов
/ 30 марта 2020

UNION не будет делать то, что вы хотите, потому что вы смешиваете разные столбцы. В вашем случае результат вашего запроса будет 2 строки, где в 1-й строке у вас будет идентификатор сотрудника и отдела, а во 2-й строке идентификатор и имя сотрудника. Что вам нужно, это объединение:

select e.empid, e.department, d.empname 
from EMPLOYEE e inner join employeedetails d
on d.empid = e.empid
where e.empid = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...