2

2 つのセットが等しいかどうかを比較する必要があります。

私は従業員テーブルを持っています

emp_id  | Name    
-----------------
1         Thomas 
2         John
3         Jeff     
.....
.....

Employee_Languageテーブル_

Emp_id | Language   
------------------
1        English
1        French
2        Thai         
3        English
3        French
3        Chinese 
...
...

したがって、「英語、フランス語」などの特定の言語のリストを知っているすべての従業員を見つける必要があります

私は知っている、使用して

select * from employee_language lng 
 where find_in_set(lng.language,'English,French') 

英語またはフランス語のどちらかを知っている従業員のリストを表示します..どうすれば両方を知っている従業員を見つけることができますか?

4

3 に答える 3

2

完全なクエリ:

select EMP.Name
from Employee EMP
where EMP.emp_id in 
(
   select EMP_L.emp_id
   FROM Employee_Language EMP_L
   EMP_L.emp_id
   WHERE Language in ('English','French')
   GROUP BY EMP_L.emp_id
   HAVING COUNT(*)=2
)
于 2013-07-08T10:45:00.890 に答える