表一:
部门 姓名 电话号码 标准 备注
总经办 张三 13811111111 300 无
总经办 李四 13322222222 400 无
总经办 王五 13533333333 400 无
总经办 赵四 13844444444 200 无
总裁办 马一 13955555555 0 无
总裁办 马二 18666666666 0 无
总裁办 马三 13877777777 300 无
总裁办 马四 13588888888 150 无
质量部 雷一 13588888888 150 无
质量部 雷二 13999999999 100 无
质量部 雷三 13518803065 150 无
质量部 雷四 13707501060 80 无
质量部 雷五 13518821879 80 无
质量部 雷六 13518052218 150 无
表二:
电话号码 合计
13811111111 94.5
13322222222 215
13533333333 337.48
13844444444 144.54
13955555555 231.1
18666666666 380.64
13877777777 335
13588888888 158.72
13588888888 103
13999999999 77
13518803065 150.08
13707501060 87.5
13518821879 94.5
13518052218 128
我想通过一条SQL语句得出以下表结构:
部门 姓名 电话号码 话费 标准 扣个人款 备注
总经办 张三 13811111111 94.5 300 0 无
总经办 李四 13322222222 215 400 0 无
总经办 王五 13533333333 337.48 400 0 无
总经办 赵四 13844444444 144.54 200 0 无
总经办小计: 791.52 0
总裁办 马一 13955555555 231.1 0 0 无
总裁办 马二 18666666666 380.64 0 0 无
总裁办 马三 13877777777 335 300 35 无
总裁办 马四 13588888888 158.72 150 8.72 无
总裁办小计: 1105.46 43.72
质量部 雷一 13588888888 103 150 0 无
质量部 雷二 13999999999 77 100 0 无
质量部 雷三 13518803065 150.08 150 0.08 无
质量部 雷四 13707501060 87.5 80 7.5 无
质量部 雷五 13518821879 94.5 80 14.5 无
质量部 雷六 13518052218 128 150 0 无
质量部小计: 640.08 22.08
总合计: 2537.06 65.8
注意:扣个人款=话费-标准。但当标准为0时扣个人款为0
------解决方案--------------------
GROUP BY WITH ROLLUP和GROUPING函数的用法 交给楼下好了。