0
我有如下表:查詢獲取記錄只有Oracle和Java
Employee表:
Id skillset
1 O
2 J
2 O
3 J
4 J
4 O
5 O
5 J
5 U
我想查詢只得到聘用過的員工的技能爲O和J(Oracle和java) 這意味着只有2和4,甚至沒有5貝克它具有技能組合unix。
我有如下表:查詢獲取記錄只有Oracle和Java
Employee表:
Id skillset
1 O
2 J
2 O
3 J
4 J
4 O
5 O
5 J
5 U
我想查詢只得到聘用過的員工的技能爲O和J(Oracle和java) 這意味着只有2和4,甚至沒有5貝克它具有技能組合unix。
做一個GROUP BY
。使用HAVING
確保id有兩個不同的技能組值,並且沒有其他值爲O和J:
select id
from tablename
group by id
having count(distinct skillset) = 2
and count(case when skillset not in ('O','J') then 1 end) = 0