1
エントリが別のテーブルに存在するかどうかを選択しようとしています。ここでは簡単な例です:SQL:別のテーブルにエントリの存在を選択する
2つのテーブル:
Student
ID Major
1 CS
2 CS
3 CS
4 CS
Student_Teacher
SID TID
1 A
1 B
1 C
3 B
3 D
最初のテーブルには、学生のID(キー=学生ID) のリストを持っている第二の表では、学生のリストを持っている - >教師(キー=学生ID、教師IDの組み合わせ)。
私はすべての生徒(1,2,3,4;各行に1つ)とその先生がいるかどうかのフラグを選択したいと思います。
SELECTED:
ID Flag
1 1
2 0
3 1
4 0
私は、これは、グループを使用して行うことが可能です知っている:
select Student.ID, count(Student_Teacher.TID)
from Student left join Student_Teacher
group by Student.ID
は簡単な方法はありますか?
OP、これは私にはそれほど簡単なようです。また、派生テーブルを使用するため、これは少し遅くなると思います。 – Kontsnor
@Kontsnorそれは確かに簡単ではありません。 OPは、実際のデータが使用されたときの照会との比較をOPに知らせることができます。 –
素晴らしいソリューションです。今すぐテストしてください。 – Rimoun