我一直在努力解決以下問題。MySQL查詢表過濾問題
我有3個表格:players,players_clothes和teams_clothes。
表players
:
id user team_id 1 tom 4 2 robo 5 3 bob 4
所以湯姆和鮑勃都在同一支球隊
表players_clothes
:
id clothes_id p_id 1 13 1 2 35 3 3 45 3
Bob擁有的衣服用品35和45,ROBO現在沒有。
表teams_clothes
:
id clothes_id team_id 1 35 4 2 45 4 3 55 4 4 65 5
這說明哪支球隊有哪些服裝製品的權利。問題是:湯姆穿着一件不屬於他的團隊的衣服......讓我們假設這是非法的。
我很難找出如何捕捉所有爲特定團隊穿着非法服裝的人。
SELECT pc.clothes_id FROM players AS p
JOIN players_clothes AS pc
ON p.id = pc.p_id
AND p.team_id = 4 GROUP BY pc.clothes_id
(由players_clothes.clothes_id予組中,因爲相信與否,兩個玩家可以被分配相同的一件衣服)
我認爲這導致了以下一組(13,35,45)
現在我想檢查一下隊伍4所擁有的實際套裝。
SELECT clothes_id FROM teams_clothes WHERE team_id = 4 and this return (35, 45, 55)
如何創建一個查詢以便返回(13)?我試過的東西如不存在,但我認爲在GROUP BY players_clothes.clothes_id部分礙事
提供有意義的名稱,以表和別名,甚至[更多]例如的緣故。 – moonwave99
謝謝,照顧它 – Tyrick