Table_1 是類別資料
Table_2 是各類別出現紀錄
為了想要得知各類別的發生次數,沒出現的類別也要顯示出來,故只好使用 Left Join,但是 Count(*) 出來的資料至少都為1 (即使該類別沒出現過)。
Select a.*, Count(*)
From Table_1 a
Left Join Table_2 b on a.PK = b.FK
害我只好改寫成如下(感覺是很笨的寫法....但是也不知該怎麼改...)
Select a.*, (Select Count(*) From Table_2 b Where a.PK = b.FK)
From Table_1 a
只是資料量大時,查詢的時間好久喔!上網意外搜尋到這網頁 (COUNT on LEFT JOIN),終於解決我的疑惑啦!
Select a.*, Count(FK)
From Table_1 a
Left Join Table_2 b on a.PK = b.FK
原來
Count(*) 計算全部
Count(PK) 計算 Table_1 (其實 Count(*) = Count(PK) 吧~)
Count(FK) 計算 Table_2
看來腦子太久沒用囉.......該常常上網學習刺激一下啦!!!
全站熱搜
留言列表