我现在有以下几张表
学生信息:
学号 姓名 班级 专业 性别 出生年月 籍贯
0732101 丁岳杰 计算机科学与技术二 计算机科学与技术一 男 1989-10-30 浙江温州
0732102 张炜 计算机科学与技术一 计算机科学与技术一 男 1987-08-26 辽宁沈阳
0732103 雷屹 计算机科学与技术二 计算机科学与技术一 男 1987-10-21 陕西渭南
0732104 李晨 计算机科学与技术一 计算机科学与技术一 男 1989-02-05 陕西长安
0732105 张工展 计算机科学与技术一 计算机科学与技术一 男 1988-02-01 河南开封
0732106 刘晋 计算机科学与技术一 计算机科学与技术一 男 1987-03-17 山东德州
0732107 魏延朋 计算机科学与技术一 计算机科学与技术一 男 1986-01-16 陕西高陵
0732108 仝博仁 计算机科学与技术一 计算机科学与技术一 男 1988-10-16 江苏徐州
0732109 麻晓宇 计算机科学与技术一 计算机科学与技术一 男 1988-10-31 内蒙丰镇
0732110 李鹏 计算机科学与技术一 计算机科学与技术一 男 1987-03-20 陕西富平
0732111 仵栋一 计算机科学与技术一 计算机科学与技术一 男 1987-06-27 河南南阳
0732112 王冉 计算机科学与技术一 计算机科学与技术一 男 1988-06-25 河南商丘
0732113 刘良高 计算机科学与技术一 计算机科学与技术一 男 1987-09-07 湖南隆回县
0732114 王强 计算机科学与技术一 计算机科学与技术一 男 1985-09-26 湖北襄樊
0732115 胡怡浩 计算机科学与技术一 计算机科学与技术一 男 1989-05-25 陕西西安
0732116 方子胜 计算机科学与技术一 计算机科学与技术一 男 1986-02-02 陕西榆林
0732117 刘晨 计算机科学与技术一 计算机科学与技术一 男 1989-02-05 山西临漪
0732118 周海洋 计算机科学与技术一 计算机科学与技术一 男 1987-05-12 江西上饶
0732119 徐海 计算机科学与技术一 计算机科学与技术一 男 1989-03-24 山东沾化
0732120 陈文龙 计算机科学与技术一 计算机科学与技术一 男 1988-03-30 河北石家庄 请假信息 学号 请假类型 请假开始时间 请假结束时间 请假天数 备注
0732104 事假 2007-08-23 上午 06:30:00
0732105 事假 2007-08-23 上午 06:30:00
0732106 病假 2007-08-23 上午 06:30:00 违纪信息 学号 违纪类型 违纪时间 备注
0732102 早退 2007-08-21 下午 03:30:00
0732104 早退 2007-08-21 下午 06:30:00
0732105 早退 2007-08-21 下午 06:30:00
0732106 迟到 2007-08-21 下午 06:30:00 这里是备注信息
0732106 早退 2007-08-21 下午 06:30:00
0732107 迟到 2007-08-21 下午 06:30:00
0732108 迟到 2007-08-21 下午 06:30:00
0732109 迟到 2007-08-21 下午 06:30:00
0732112 旷课 2007-08-21 下午 06:30:00
0732119 迟到 2007-08-23 上午 06:30:00 奖励信息 学号 奖励类型 奖励时间 奖励原因 备注
0732104 一等奖 2007-08-23 上午 06:30:00
0732105 2007-08-23 上午 06:30:00
0732106 2007-08-23 上午 06:30:00 惩罚信息 学号 惩罚类型 惩罚时间 惩罚原因 备注
0732104 警告 2007-08-21 下午 06:30:00
0732105 上 2007-08-21 下午 06:30:00
0732106 2007-08-21 下午 06:30:00 现在我想得到的查询结果是: 学号 姓名 班级 专业 请假次数 违纪次数 奖励次数 惩罚次数
0732102 张炜 计算机科学与技术一 计算机科学与技术一 0 1 0 0
0732104 李晨 计算机科学与技术一 计算机科学与技术一 1 1 1 1
0732105 张工展 计算机科学与技术一 计算机科学与技术一 1 1 1 1
0732106 刘晋 计算机科学与技术一 计算机科学与技术一 1 2 1 1
0732107 魏延朋 计算机科学与技术一 计算机科学与技术一 0 1 0 1
0732108 仝博仁 计算机科学与技术一 计算机科学与技术一 0 1 0 1
0732109 麻晓宇 计算机科学与技术一 计算机科学与技术一 0 1 0 1 请问这个该怎么样去实现呢 ,不知道一条 SQL 能不能实现
学生信息:
学号 姓名 班级 专业 性别 出生年月 籍贯
0732101 丁岳杰 计算机科学与技术二 计算机科学与技术一 男 1989-10-30 浙江温州
0732102 张炜 计算机科学与技术一 计算机科学与技术一 男 1987-08-26 辽宁沈阳
0732103 雷屹 计算机科学与技术二 计算机科学与技术一 男 1987-10-21 陕西渭南
0732104 李晨 计算机科学与技术一 计算机科学与技术一 男 1989-02-05 陕西长安
0732105 张工展 计算机科学与技术一 计算机科学与技术一 男 1988-02-01 河南开封
0732106 刘晋 计算机科学与技术一 计算机科学与技术一 男 1987-03-17 山东德州
0732107 魏延朋 计算机科学与技术一 计算机科学与技术一 男 1986-01-16 陕西高陵
0732108 仝博仁 计算机科学与技术一 计算机科学与技术一 男 1988-10-16 江苏徐州
0732109 麻晓宇 计算机科学与技术一 计算机科学与技术一 男 1988-10-31 内蒙丰镇
0732110 李鹏 计算机科学与技术一 计算机科学与技术一 男 1987-03-20 陕西富平
0732111 仵栋一 计算机科学与技术一 计算机科学与技术一 男 1987-06-27 河南南阳
0732112 王冉 计算机科学与技术一 计算机科学与技术一 男 1988-06-25 河南商丘
0732113 刘良高 计算机科学与技术一 计算机科学与技术一 男 1987-09-07 湖南隆回县
0732114 王强 计算机科学与技术一 计算机科学与技术一 男 1985-09-26 湖北襄樊
0732115 胡怡浩 计算机科学与技术一 计算机科学与技术一 男 1989-05-25 陕西西安
0732116 方子胜 计算机科学与技术一 计算机科学与技术一 男 1986-02-02 陕西榆林
0732117 刘晨 计算机科学与技术一 计算机科学与技术一 男 1989-02-05 山西临漪
0732118 周海洋 计算机科学与技术一 计算机科学与技术一 男 1987-05-12 江西上饶
0732119 徐海 计算机科学与技术一 计算机科学与技术一 男 1989-03-24 山东沾化
0732120 陈文龙 计算机科学与技术一 计算机科学与技术一 男 1988-03-30 河北石家庄 请假信息 学号 请假类型 请假开始时间 请假结束时间 请假天数 备注
0732104 事假 2007-08-23 上午 06:30:00
0732105 事假 2007-08-23 上午 06:30:00
0732106 病假 2007-08-23 上午 06:30:00 违纪信息 学号 违纪类型 违纪时间 备注
0732102 早退 2007-08-21 下午 03:30:00
0732104 早退 2007-08-21 下午 06:30:00
0732105 早退 2007-08-21 下午 06:30:00
0732106 迟到 2007-08-21 下午 06:30:00 这里是备注信息
0732106 早退 2007-08-21 下午 06:30:00
0732107 迟到 2007-08-21 下午 06:30:00
0732108 迟到 2007-08-21 下午 06:30:00
0732109 迟到 2007-08-21 下午 06:30:00
0732112 旷课 2007-08-21 下午 06:30:00
0732119 迟到 2007-08-23 上午 06:30:00 奖励信息 学号 奖励类型 奖励时间 奖励原因 备注
0732104 一等奖 2007-08-23 上午 06:30:00
0732105 2007-08-23 上午 06:30:00
0732106 2007-08-23 上午 06:30:00 惩罚信息 学号 惩罚类型 惩罚时间 惩罚原因 备注
0732104 警告 2007-08-21 下午 06:30:00
0732105 上 2007-08-21 下午 06:30:00
0732106 2007-08-21 下午 06:30:00 现在我想得到的查询结果是: 学号 姓名 班级 专业 请假次数 违纪次数 奖励次数 惩罚次数
0732102 张炜 计算机科学与技术一 计算机科学与技术一 0 1 0 0
0732104 李晨 计算机科学与技术一 计算机科学与技术一 1 1 1 1
0732105 张工展 计算机科学与技术一 计算机科学与技术一 1 1 1 1
0732106 刘晋 计算机科学与技术一 计算机科学与技术一 1 2 1 1
0732107 魏延朋 计算机科学与技术一 计算机科学与技术一 0 1 0 1
0732108 仝博仁 计算机科学与技术一 计算机科学与技术一 0 1 0 1
0732109 麻晓宇 计算机科学与技术一 计算机科学与技术一 0 1 0 1 请问这个该怎么样去实现呢 ,不知道一条 SQL 能不能实现
from 学生信息 a
left join (select 学号,count(*) 请假次数 from 请假 group by 学号 ) b
on a.学号 = b.学号
left join (select 学号,count(*) 违纪次数 from 违纪 group by 学号 ) c
on a.学号 = c.学号
left join (select 学号,count(*) 奖励次数 from 奖励 group by 学号 ) d
on a.学号 = d.学号
left join (select 学号,count(*) 惩罚次数 from 惩罚 group by 学号 ) e
on a.学号 = e.学号
select 学号,姓名,班级,专业,
(select count(1) from 请假信息 where 学号=a.学号)[请假次数],
(select count(1) from 违纪信息 where 学号=a.学号)[违纪次数],
(select count(1) from 奖励信息 where 学号=a.学号)[奖励次数],
(select count(1) from 惩罚信息 where 学号=a.学号)[惩罚次数]
from 学生信息 a