假設表(我的)SQL JOIN - 獲得與準確指定成員的團隊
team: id, title
team_user: id_team, id_user
我想選擇與公正,只有指定的會員隊伍。在這個例子中,我希望團隊中唯一的用戶是ID爲1和5的用戶,而不是其他用戶。我想出了這個SQL,但對於這麼簡單的任務似乎有點矯枉過正。
SELECT team.*, COUNT(`team_user`.id_user) AS cnt
FROM `team`
JOIN `team_user` user0 ON `user0`.id_team = `team`.id AND `user0`.id_user = 1
JOIN `team_user` user1 ON `user1`.id_team = `team`.id AND `user1`.id_user = 5
JOIN `team_user` ON `team_user`.id_team = `team`.id
GROUP BY `team`.id
HAVING cnt = 2
編輯:謝謝大家的幫助。如果你想真正地嘗試一下你的想法,你可以使用例如數據庫結構和數據在這裏找到:http://down.lipe.cz/team_members.sql
空結果集:/ – sKopheK
糟糕,應該有已經是SUM,而不是COUNT。我糾正了我的輸入。順便說一句,你的數據不包含id_user 5.這是一個SQLFiddle,查詢1,3:http://sqlfiddle.com/#!2/19d5e/20 –
希望不提供不必要的數據。你的解決方案似乎適用於我。 – sKopheK