有三个表和其主要发字段如下学生表
学号 姓名 班级编号收费项目表
唯一编号 班级编号 收费金额缴费表
唯一编号 学号 缴费金额 我现在要求在一张表中,列出所有学生应收费总额和实际缴费数。。
即如下表格:
学号 姓名 总收费金额 总缴费金额
请问如何写这个SQL。。我只会单独写。。
先谢谢了。。
学号 姓名 班级编号收费项目表
唯一编号 班级编号 收费金额缴费表
唯一编号 学号 缴费金额 我现在要求在一张表中,列出所有学生应收费总额和实际缴费数。。
即如下表格:
学号 姓名 总收费金额 总缴费金额
请问如何写这个SQL。。我只会单独写。。
先谢谢了。。
解决方案 »
- 下面这句实现了什么功能?是保留小数位吗?如果是,是保留几位小数位?谢谢各位大虾。
- Delphi IDE中的问题
- delph7+ado 能添加、修改DBF库的数据吗?
- 打开excel文件的密码是多少啊!!急,拜托各位!得到答案马上结贴
- 急急!!动态数组怎么计算?
- 如何制作资源文件啊!!!!!!!
- 哪儿有编写RTF格式与HTML格式转换程序的资料?
- 请教SQL问题
- 一个SQL 数据库的存储过程问题
- RXLIB里那个GIF控件的读入文件方法是什么?
- 怎么把数据库中的图片显示到image控件上 急!!!!!!!!!!!
- 好迷惑---动态连接库调用后,显示'Invalid Pointer operation',请问怎么回事呀????????????????
a.学号,a.姓名,
isnull(b.总收费金额,0) as 总收费金额,
isnull(c.总缴费金额,0) as 总缴费金额
from 学生表 a
left join (select 班级编号,sum(收费金额) as 收费金额 from 收费项目表 group by 班级编号) b
on a.班级编号=b.班级编号
left join (select 学号,sum(缴费金额) as 缴费金额 from 缴费表 group by 学号) c
on a.学号=c.学号
不好意思,复杂的SQL我做不出来。。
这个查询是不是利用了子查询
create view myview
as
select 学生.学号,学生.姓名,收费项目表.收费金额,缴费表.缴费金额
from 学生,收费项目表,缴费表
where 学生.学号=缴费表.学号 and 学生.班级编号=收费项目表.班级编号 要得到的查询是
select 学号,姓名,sum(收费金额) ,sum(缴费金额) from myview group by 学号
a.学号,a.姓名,a.班级编号,
isnull(sum(b.总缴费金额),0) as 总缴费金额,
isnull(sum(c.总收费金额,0)) as 总收费金额
from 学生表 a
left join 缴费表 b on a.学号 = b.学号
left join 收费项目表 c on a.班级编号 = c.班级编号
group by a.学号,a.姓名,a.班级编号
SELECT xh AS 学号, name AS 姓名,
(SELECT SUM(b.projmx)
FROM projct b
WHERE b.classid = a.classid) AS 总收费金额,
(SELECT SUM(c.numb)
FROM pay c
WHERE c.studxh = a.xh) AS 缴费额
FROM student a这几个表结构好像有点不对头,但是语句肯定是可以的