▲请问这个SQL语句该怎么写,谢谢各位了!(有答案立刻结分)
oracle有两个表:
【Table1】
id xh(学号) xm(姓名) xb(性别) nl(年龄)
1 001 张三 男 17
2 003 李四 女 18
3 007 王五 男 19
------------------------------------
【Table2】
id xh(学号) km(科目) fs(分数)
1 001 A 90
2 001 B 80
3 001 C 70
4 001 D 60
5 003 A 95
6 003 B 85
7 003 C 75
8 003 D 65
9 005 A 85
10 005 C 75
11 006 B 65
------------------------------------
最终想得到以下结果:
【Table_New】
id xh(学号) xm(姓名) xb(性别) nl(年龄) fsAB(分数) fsCD(分数)
1 001 张三 男 17 170 130
2 003 李四 女 18 180 140
3 007 王五 男 19 0 0
------------------------------------
1、Table1.xh=Table2.xh
2、【Table_New】显示的数据总数与【Table1】数据总数相同(左联接)
3、【字段fsAB】是【科目A】与【科目B】的和
4、【字段fsCD】是【科目C】与【科目D】的和
5、对于Table2没找到对应份数的,均以0替代。
------------------------------------
------解决方案--------------------
SELECT t1.*,
NVL(t2.fsAB,0) fsAB,
NVL(t2.fsCD,0) fsCD
FROM table1 t1
LEFT JOIN (
SELECT