Hallo,
Ich programmiere derzeit eine Liga und beschäftige mich seit dem das erste Mal mehr mit SQL da das doch sehr wichtig ist. Nun habe ich folgendes Problem:
Benutzer können Teams joinen (das ist soweit bewerkstelligt) nun will aber der Captain des Teams einer Liga beitreten. Diese Liga hat bestimmte Kriterien die erfüllt werden müssen, das wäre zum einen Kontaktmöglichkeiten, eine Mindestanzahl an Spielern und es müssen mindestens soviele ein gültigen Gameaccount haben wie die Mindestanzahl angibt.
Zur Verdeutlichung ein kleines Beispiel:
Team ABC (4 Spieler) will Liga 123 (Min. Spieler: 2, Gameaccount: Steam ID) joinen.
Hat nur ein Spieler einen gültigen Gameaccount -> Fehler
Haben mindestens zwei oder mehr Spieler einen gültigen Gameaccount -> OK
So nun hab ich aber das Problem das ja jeder Spieler einzeln überprüft werden muss. Ich habe schonmal in einem anderen Forum gefragt und die haben gesagt mach es mit einem JOIN. Hab mir daraufhin Tutorials durchgelesen und mit meinem PRoblem gestestet nur scheint es irgendwie nicht zu klappen.
Folgende Vorgänge müssen ja abgewickelt werden:
1. Es muss das richtige Team ausgewählt werden
2. Jeder einzelne Spieler muss auf einen Gameaccount hin überprüft werden.
Die Tabellen sehen wie folgt aus:
Tabelle
`teams_access`:
Code:
id INT (11),
teamID INT (11),
userID INT (11),
owner INT (1),
captain INT (1),
manager INT (1),
player INT (1),
inactive INT (1)
Tabelle
`user_gameaccounts` :
Code:
id (INT) (11),
userID (11),
accountID (11)
Tabelle `user`
Code:
userID INT (11),
Vorname....
......
....
So mein Versuch bisher:
PHP-Code:
$select=mysql_query("SELECT userID, accountID, teamID FROM teams_access INNER JOIN ON user (teams_access.userID = user.userID) OUTER JOIN ON user_gameaccounts (user_gameaccounts.userID = $userID, user_gameaccounts.accountID = $gameaccount) WHERE user.userID='$userID' AND user_gameaccounts.userID='$userID' and user_gameaccounts.accountID='$gameaccount'") or die(mysql_error());
Danke für jede Vernünftige Antwort
Gruß
Benjamin