iT邦幫忙

0

請問SQL合併查詢的問題...感嗯

以下是我兩個table ...
(TABLE _ 1)
userid username
001 AAA
002 BBB
003 CCC
004 DDD
005 EEE
(TABLE _ 2)
username logein
AAA 1
AAA 1
CCC 1
DDD 1
DDD 1
DDD 1
登入次數加起來 , 沒登入的顯示0
我需要的結果 :
userid login
AAA 2
BBB 0
CCC 1
DDD 3
請問BBB 查不出來但要顯示為0該怎麼作呢 , 拜託幫忙了....;超感謝...
我是用MYSQL . + ASP.NET

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

6
外獅佬
iT邦大師 1 級 ‧ 2011-02-25 22:43:06
最佳解答

用子查詢...

看更多先前的回應...收起先前的回應...
外獅佬 iT邦大師 1 級 ‧ 2011-02-25 22:55:24 檢舉

SELECT table\_1.username AS userid,(SELECT SUM(logein) AS login FROM table\_2 WHERE table\_2.user\_name=tb1.f2) AS login FROM tb1

不過,這個查詢,沒有登入過的,login欄位會是null...

SELECT a.username, IFNULL(b.cntlogin,0) AS logincount
FROM TABLE_1 a LEFT JOIN (SELECT username, SUM(login) AS cntlogin
FROM TABLE_2
GROUP BY username) b
ON a.username = b.username;

外獅佬 iT邦大師 1 級 ‧ 2011-02-25 23:56:56 檢舉

ㄟ...不能推哦....樓上的寫得很好啊...小工...出來說明一下...

可以推呀
再加送你一個讚

sundayjoe iT邦新手 5 級 ‧ 2011-03-01 10:13:50 檢舉

To hitomitanaka

經過修正後可以使用了 , 超感謝您的 , 謝謝囉 ...謝謝謝謝

6
crusade
iT邦研究生 4 級 ‧ 2011-02-26 13:02:14

我是會這樣寫

SELECT TABLE_1.username, Count(TABLE_2.logein) AS PenNumber
FROM
TABLE_1 LEFT JOIN TABLE_2 ON
TABLE_1.username = TABLE_2.username
GROUP BY TABLE_1.username

sundayjoe iT邦新手 5 級 ‧ 2011-03-01 10:15:01 檢舉

也很感謝您提供訊息...感嗯

我要發表回答

立即登入回答