有这样的3个表
Table A 结构
ID 班级名 教师名
1 3 liu
2 4 wang
PK: ID UNIQUE: 教师名
Table B 结构
ID NO 年龄 特长
1 1 28 喝水
1 2 15 麻将
2 1 6 花钱
2 2 99 魔兽
PK: ID 和 NO
Table C 结构
年龄 特长 班级名 教师名 面貌
28 喝水 3 liu 好看
PK: 年龄 特长 班级名 教师名
要求:根据A 的教师名,确定 ID; 根据A的ID,在B得到年龄 特长,根据得到的年龄 特长,以及A表的班级名 教师名,从C表得到面貌。一个SQL能搞定么?
昨天提出问题,今天找到答案
SELECT
C.chr_Hinshu
,D.TotalMaisu
,D.chr_Shiiresaki_code
,D.chr_Shiiresaki_eda
,D.sint_Meisai_No
,D.chr_Hinban1
,D.chr_Hinban2
,D.chr_Hinban3
,D.chr_Tanka_ctrl
,D.chr_Sebango
,D.dec_Shuyosu
,D.int_Kanban_maisu
,D.dec_Hattyu_suryo
FROM TM_Kobai_Tanka C
Right JOIN
( SELECT
A.chr_Shiiresaki_code
,A.chr_Shiiresaki_eda
,B.sint_Meisai_No
,B.chr_Hinban1
,B.chr_Hinban2
,B.chr_Hinban3
,B.chr_Tanka_ctrl
,B.chr_Sebango
,B.dec_Shuyosu
,B.int_Kanban_maisu
,B.dec_Hattyu_suryo
,B.int_Hattyu_ID
,SUM(B.dec_Hattyu_suryo) AS TotalMaisu
FROM
T_Hattyu A left join T_Hattyu_Meisai B
ON A.int_Hattyu_ID = B.int_Hattyu_ID
WHERE
A.sint_Hattyu_kubun ='0'
AND
A.chr_Nonyu_bango ='00001'
group by A.chr_Shiiresaki_code
,A.chr_Shiiresaki_eda
,B.sint_Meisai_No
,B.chr_Hinban1
,B.chr_Hinban2
,B.chr_Hinban3
,B.chr_Tanka_ctrl
,B.chr_Sebango
,B.dec_Shuyosu
,B.int_Kanban_maisu
,B.dec_Hattyu_suryo
,B.int_Hattyu_ID
) D
ON C.chr_Shiiresaki_code = D.chr_Shiiresaki_code
AND C.chr_Shiiresaki_eda = D.chr_Shiiresaki_eda
AND C.chr_Hinban1 = D.chr_Hinban1
AND C.chr_Hinban2 = D.chr_Hinban2
AND C.chr_Hinban3 = D.chr_Hinban3
AND C.chr_Tanka_ctrl = D.chr_Tanka_ctrl
嘿嘿
Table A 结构
ID 班级名 教师名
1 3 liu
2 4 wang
PK: ID UNIQUE: 教师名
Table B 结构
ID NO 年龄 特长
1 1 28 喝水
1 2 15 麻将
2 1 6 花钱
2 2 99 魔兽
PK: ID 和 NO
Table C 结构
年龄 特长 班级名 教师名 面貌
28 喝水 3 liu 好看
PK: 年龄 特长 班级名 教师名
要求:根据A 的教师名,确定 ID; 根据A的ID,在B得到年龄 特长,根据得到的年龄 特长,以及A表的班级名 教师名,从C表得到面貌。一个SQL能搞定么?
昨天提出问题,今天找到答案
SELECT
C.chr_Hinshu
,D.TotalMaisu
,D.chr_Shiiresaki_code
,D.chr_Shiiresaki_eda
,D.sint_Meisai_No
,D.chr_Hinban1
,D.chr_Hinban2
,D.chr_Hinban3
,D.chr_Tanka_ctrl
,D.chr_Sebango
,D.dec_Shuyosu
,D.int_Kanban_maisu
,D.dec_Hattyu_suryo
FROM TM_Kobai_Tanka C
Right JOIN
( SELECT
A.chr_Shiiresaki_code
,A.chr_Shiiresaki_eda
,B.sint_Meisai_No
,B.chr_Hinban1
,B.chr_Hinban2
,B.chr_Hinban3
,B.chr_Tanka_ctrl
,B.chr_Sebango
,B.dec_Shuyosu
,B.int_Kanban_maisu
,B.dec_Hattyu_suryo
,B.int_Hattyu_ID
,SUM(B.dec_Hattyu_suryo) AS TotalMaisu
FROM
T_Hattyu A left join T_Hattyu_Meisai B
ON A.int_Hattyu_ID = B.int_Hattyu_ID
WHERE
A.sint_Hattyu_kubun ='0'
AND
A.chr_Nonyu_bango ='00001'
group by A.chr_Shiiresaki_code
,A.chr_Shiiresaki_eda
,B.sint_Meisai_No
,B.chr_Hinban1
,B.chr_Hinban2
,B.chr_Hinban3
,B.chr_Tanka_ctrl
,B.chr_Sebango
,B.dec_Shuyosu
,B.int_Kanban_maisu
,B.dec_Hattyu_suryo
,B.int_Hattyu_ID
) D
ON C.chr_Shiiresaki_code = D.chr_Shiiresaki_code
AND C.chr_Shiiresaki_eda = D.chr_Shiiresaki_eda
AND C.chr_Hinban1 = D.chr_Hinban1
AND C.chr_Hinban2 = D.chr_Hinban2
AND C.chr_Hinban3 = D.chr_Hinban3
AND C.chr_Tanka_ctrl = D.chr_Tanka_ctrl
嘿嘿