MySql重复SUM,一对多关系

时间:2012-09-21 10:29:39

标签: mysql sum

我有以下3个表,其中B,C与A有多对一关系,我需要使用MySql生成以下Result表

   Table A           Table B              Table C
    id  name       id   A.id    qty        id   A.id
    1   a          1    1       5          1    1
    2   b          2    1       10         2    1
    3   c          3    2       4          3    2
                   4    3       6          4    2
                   5    2       7



 Expected Result Table

C.id    A.id    sum(B.qty Group by A.id)
1       1       15
2       1       15
3       2       11
4       2       11

1 个答案:

答案 0 :(得分:2)

select c.id, a.id, sum(b.qty)
from c
inner join a on c.a_id = a.id
inner join b on b.a_id = a.id
group by c.id, a.id

或者在您的情况下,您只需要表a

select c.id as cid, c.a_id as aid , sum(b.qty) as totalqty
from c
inner join b on b.a_id =c.a_id
group by c.id, c.a_id;