2つのテーブルがあります。最初のテーブルは、batch
フィールド「バッチ」にカンマ区切りの学生IDを含むテーブルです。
batch
--------------
id batch
--------------
1 1,2
2 3,4
2番目の表はマークです
marks
----------------------
id studentid subject marks
1 1 English 50
2 2 English 40
3 3 English 70
4 1 Math 65
5 4 English 66
6 5 English 75
7 2 Math 55
サブクエリを使用せずに、英語で45点以上を獲得した最初のバッチID=1の学生を見つける方法。
単一のクエリを使用してこれを実行することがわかった問題は、JOINステートメントでINを関連付け演算子として使用できないことです。
それを機能させるには、以下のクエリでどのような変更が必要ですか?
SELECT * FROM batch
INNER JOIN marks ON marks.studentid IN(batch.batch) where batch.id = 1