私は学生IDとクラスIDを含むテーブル学生クラス魔女を持っています
CREATE TABLE [StudentClass]
([StudentId] varchar(20), [ClassId] varchar(20));
私がやりたいことは、学生のクラスメートをすべて見つけることです。例えば:
student 1 in class 1
student 1 in class 2
student 2 in class 2
私が学生1を検索すると、結果として取得したい
: 私
が実際に得たのは次のとおりです。
student1 | null
student1 | student2
最初の行しかない場合:
student 1 in class 1
期待される結果は次のようになります。
student1 | null
select distinct s1.StudentId, s2.StudentId
from StudentClass s1
left join StudentClass s2
on s1.ClassId = s2.ClassId and
s1.StudentId != s2.StudentId
where s1.StudentId = 'Student1'
ご協力ありがとうございました