+ -
当前位置:首页 → 问答吧 → mysql查询求思路,急,急!!

mysql查询求思路,急,急!!

时间:2011-11-24

来源:互联网

表1:
Id GroupName Line Time Total
1 普通团 海南一日游 2011-11-24 12:06:11
2 普通团 桂林山水1日游 2011-11-21 11:47:48


表2:
DetailId TypeName Sum Explain BillId
1 车费 100 司机--刘 1
2 住宿 300 3晚 1
3 餐费 300 3参 1
4 门票 200 20一张 1
5 导补 100 1
6 其他 200 其他 1
7 车费 80 司机--李 2
8 住宿 100 1晚 2
9 餐费 200 2 2
10 门票 100 20 2


要求 在BillId=Id的条件下 表1中total的值为表2中sum的和 
例如 统计 BillId=2 的 sum值 放到 total中

作者: liuruiqi2009   发布时间: 2011-11-24

要求结果是什么,try:
update b1 inner join
(select BillId,sum(`sum`) as ss from b2 group by BillId) b
on a.id=b.BillId
set a.`total`=b.ss

作者: wwwwb   发布时间: 2011-11-24

谢谢,上面的sql试了可以,可我在想是不是数据没库有设计好,新增数据的时候很麻烦,先新增表1,再新增表2,然后得再修改表1的total值,唉.不知道,有没有好的建议。

作者: liuruiqi2009   发布时间: 2011-11-24

表1: 中的Total字段不需要。可以通过查询得到。

作者: ACMAIN_CHM   发布时间: 2011-11-24

1、表1的total值可以直接用查询解决;
2、表2的TypeName 可以用TypeID, 另外 连接费用名称表

作者: wwwwb   发布时间: 2011-11-24