作者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
推 fantasyj:DBMS? 09/04 14:44
※ 編輯: nicetry 來自: 220.229.143.222 (09/04 14:46)
※ 編輯: nicetry 來自: 220.229.143.222 (09/04 15:20)
推 evernever:A left join (sum B) left join (sum C) 09/04 15:19
推 RichFU:sum(distinct xxx) ?? 09/04 15:47
→ evernever:樓上(1,5)(1,6)sum起來變(1,11), 但(1,5)(1,5)會變(1,5) 09/04 16:09