作者nicetry (窝窝窝窝窝窝窝)
看板Database
标题[SQL ] 多资料表计算
时间Sat Sep 4 14:40:54 2010
我有一个问题一直找不到好方法解决,下面有三个表格 A为主要的
Table A
------------------------
Num Name
1 A
2 B
3 C
------------------------
Table B Table C
------------------------ ---------------------------
Num Count Num Count
1 10 1 6
1 5 1 7
2 5 2 20
------------------------ 2 25
3 10
---------------------------
我现在搜寻出来下面这个 (用两个left join结合起来,主key是a.num)
Num Name Count(B) Count(C)
1 A 10 6
1 A 5 6
1 A 10 7
1 A 5 7
2 B 5 20
2 B 5 25
3 C - 10
---------------------------
我想要下面这种结果请问该如何下指令 ps:(15=10+5) (13=6+7) (45=20+25)
1 A 15 13
2 B 5 45
3 C - 10
ps:如果我用sum,会变成6+6+7+7 <<--我的最主要卡关处
给我一个方向吧,谢谢了..
注:资料库为mysql
select *,sum(b.count) as bp,sum(c.count) as cp from(a) left join b on
a.num = b.num left join c on a.num = c.num group by a.num
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.229.143.222
1F:推 fantasyj:DBMS? 09/04 14:44
※ 编辑: nicetry 来自: 220.229.143.222 (09/04 14:46)
※ 编辑: nicetry 来自: 220.229.143.222 (09/04 15:20)
2F:推 evernever:A left join (sum B) left join (sum C) 09/04 15:19
3F:推 RichFU:sum(distinct xxx) ?? 09/04 15:47
4F:→ evernever:楼上(1,5)(1,6)sum起来变(1,11), 但(1,5)(1,5)会变(1,5) 09/04 16:09