2016-06-14 3 views
0

Мне нужно получить emp_id из таблицы ниже (таблица1), которые присоединили (joining_date) отдел dept1 и dept2 к той же дате.SQL-запрос, требуемый для ниже сценария

emp_id|| department||  joining_date 
1  || dept3  ||  01/01/2014 
1  || dept2  ||  01/01/2015 
1  || dept1  ||  01/01/2015 
2  || dept1  ||  01/01/2015 
2  || dept2  ||  01/03/2015 
3  || dept1  ||  01/02/2015 
3  || dept2  ||  01/02/2015 
3  || dept3  ||  01/02/2015 
4  || dept1  ||  01/01/2014 
4  || dept2  ||  01/01/2014 
5  || dept1  ||  01/01/2014 
5  || dept2  ||  01/01/2015 
5  || dept3  ||  01/01/2016 
6  || dept1  ||  01/01/2014 
6  || dept2  ||  01/01/2014 

Итак, я должен получить 1,3,4 & 6 в результате.

+0

использование отчетливое с emp_id –

ответ

-1

Вы можете использовать автообъединение, чтобы получить результат

select distinct d1.emp_id 
from dept1 d1, 
     dept2 d2 
where d1.department = 'dept1' 
and d2.department = 'dept2' 
and d1.joining_date = d2.joining_date; 
1

Использование INNER JOIN на том же столе.

SELECT `first`.* FROM table1 AS first 
INNER JOIN table1 AS `second` 
     ON `first`.emp_id = `second`.emp_id 
       AND `second`.department = "dept2" 
       AND `second`.joining_date = `first`.joining_date 
WHERE first.department = "dept1" 

Пример для dept2, вы должны добавить dept3

+0

Он работал. Благодаря Phillip –

Смежные вопросы