MSSQL Group By问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 06:51:11
select a.baogaodanhao,tuoyunren,tiji,b.shoukuanxiangmu,shoukuanjine,b.huilv,c.fukuanxiangmu,fukuanjine,c.huilv
from tuoyun a , yingshou b ,yingfu c
where a.yewubaogaodanhao = b.baogaodanhao and b.baogaodanhao = c.baogaodanhao

原数据效果

报告单号 托运人 体积 收款项目 收款金额 汇率 付款项目 付款金额 汇率

09RL02 宜昌外运 240 包干费 24000.00 1 陆运运费 5000.00 1

09RL02 宜昌外运 240 包干费 24000.00 1 报关费 2000.00 1

09RL02 宜昌外运 240 包干费 24000.00 1 口岸费 1000.00 1

09RL03 武汉外运 160 仓租费 10000.00 1 力资费 5000.00 1

09RL03 武汉外运 160 制单费 5000.00 1 力资费 5000.00 1

09RL03 武汉外运 160 报关费 600.00 6.88 力资费 5000.00 1

要达到的效果

报告单号 托运人 体积 收款项目 收款金额 汇率 付款项目 付款金额 汇率

09RL02 宜昌外运 240 包干费 24000.00 1 陆运运费 5000.00 1

09RL02 宜昌外运 1 报关费 2000.00 1

09RL02 宜昌外运 1 口岸费 1000.00 1

"select sum(a.jianshu)as jshj,round(sum(a.maozhong),2)as mzhj,round(sum(a.tiji),2)as tjhj,"
+ " round(sum(b.shoukuanjine),2)as shxj,round(sum(c.fukuanjine),2)as fkxj,"
+ " round((sum(b.shoukuanjine)-sum(c.fukuanjine)),2)as mlhj "
+ " from tuoyun a,"
+ "(select tidanhao,round(sum(shoukuanjine*huilv),2) shoukuanjine "
+ "from yingshou group by tidanhao ) b ,"
+ "(select tidanhao,round(sum(fukuanjine*huilv),2) fukuanjine "
+ "from yingfu group by tidanhao ) c "
+ " where a.tidanhao = b.tidanhao and b.tidanhao = c.tidanhao";

09RL02 宜昌外运 240 包干费 24000.00 1 陆运运费 5000.00 1

09RL02 宜昌外运 报关费 2000.00 1

09RL02 宜昌外运 口岸费 1000.00 1

09RL03 武汉外运 160 仓租费 10000.00 1 力资费 5000.00 1

09RL03 武汉外运 制单费 5000.00 1

09RL03 武汉外运