我無法從主表中獲取的行數從兩個不同條件的特定錶行計數行:Mysql的加入另一個表
主要是,我有一個表的球員,用簡單的信息,如playername和id。 我也有一個表格,其中每個球員列出了動作類型(目標或助攻)。我想讓所有的球員都有一個專欄來計算他們的目標,另一名球員正在計算他們的助攻數。當然,我想要那些沒有進球或沒有任何助攻的懶惰球員。
現在我想出了這個要求,但它只給我最好的球員,而我想要所有的球員。請照亮我的腦海裏;)
SELECT
`p`.`playername`,
COUNT(`a1`.`actionid`) AS `goals`,
COUNT(`a2`.`actionid`) AS `assists`
FROM `Player` AS `p`
LEFT JOIN `Actions` AS `a1`
ON `a1`.`id` = `p`.`id`
LEFT JOIN `Actions` AS `a2`
ON `a2`.`id` = `p`.`id`
WHERE `a1`.`type` = 'goal'
AND `a2`.`type` = 'assist'
GROUP BY
`a1`.`userId`,
`a2`.`userId`
LIMIT 0 , 30
我想你可能需要調整示例SQL ..這似乎不正確。兩個表都有相同的參考('a'),並且有一個'r2'和'a2'似乎不會與任何東西相關聯。 – roberttdev 2011-05-16 12:55:00
你說得對,我留下了一些錯誤,應該會更好? – 2011-05-16 12:56:56