有两个表STUDENT
和RELATION
Student
Roll No |名称|标记
2 Daniel 45
3艾玛43
4 Drake 47
5 John 49
Relation
Roll No |年轻的兄弟姐妹
1 2
2 NULL
3 NULL
4 3
5 NULL
现在我想创建一个显示此类数据的视图
Roll No |标记|兄弟标记
1 40 45
2 45 0
3 43 0
4 47 43
5 49 0
假设表中最多只有两个兄弟,Roll No
是两个表的主键。兄弟姐妹之间的关系只是一种方式(弟弟妹妹)。我对SQL很陌生,任何帮助都会非常感激。
答案 0 :(得分:1)
试试这个:
SELECT
R.RolNo,
COALESCE(S1.Marks, 0) Marks,
COALESCE(S2.Marks, 0) SiblingMarks
FROM Relation R
LEFT JOIN Student S1
ON R.RolNo = S.RolNo
LEFT JOIN Student S2
ON R.YoungerSibling = S2.RolNo