2016-11-13 62 views

回答

4

假設你的關係被命名爲「我的-關係」:

SELECT R1.student_Id FROM my-Relation R1 join my-Relation R2 on R1.student_id = R2.student_id where R1.language_Id = '3' and R2.language_id = '4' 
+0

謝謝你不錯的答案 –

4

你可以試試看:

SELECT 
student_id, 
COUNT(*) total 
FROM your_table 
WHERE language_id IN (3,4) 
GROUP BY student_id 
HAVING COUNT(*) = 2; 

只有IN不能確保學生參與語言ID 3 & 4

您需要使用GROUP BY student_id HAVING COUNT(*) = 2,以確保這些student_id s到是誰參與無論是在language id 3 & 4


另一種解決方案將使用INNER JOIN結果。但它不會縮放。

SELECT 
A.student_id 
FROM your_table A 
INNER JOIN your_table B ON A.student_id = B.student_id 
    AND A.language_id = 3 AND B.language_id = 4 
+0

非常感謝您的回答不錯 –

相關問題