我currenty有應該做以下的查詢:LEFT JOIN查詢是不會按計劃
它檢查表「塔菲爾」如何「的玩家最大量」大部分是。然後進入'RoundRegistered'表,看看是否有人已經註冊到該表。
它現在所做的是:它檢查是否存在尚未滿的「塔菲爾」。如果是這樣的話,它會返回第一個,所以如果有更多它不關心它們,它只需要第一個。
但這是我的問題:如果在'RoundRegistered'表中沒有至少1條記錄,它將不會找到任何'Tafel'記錄。所以我想要做的是左連接,所以它仍然會在相同的限制條件下給出'Tafel'記錄。即阻止它的唯一的事情(我認爲)是HAVING ..
SELECT T.* FROM TAFEL AS T
JOIN RoundRegistration AS RR ON RR.TafelID = T.ID
WHERE RR.RONDE = 1
GROUP BY T.ID
HAVING COUNT(RR.ID) < T.Max_Aantal_spelers
LIMIT 1
任何人任何想法? 謝謝。
該查詢中沒有'LEFT'。 – philipxy
@philipxy真的,因爲一個LEFT連接不會返回任何東西..可能是因爲HAVING。 –
您需要一個左連接才能獲取沒有出現在RoundRegistration中的表的行(用於給出回合)。 – philipxy