iGEL
24-03-2002, 23:46
Moin!
Ich muss zugeben, in MySQL habe ich noch nicht so tiefgehende Kenntnisse, da man ja im Normalfall auch nicht viel braucht. Da MySQL aber deutlich mehr machen kann, und ich gerne etwas effizienter programmieren würde, versuche ich gerade, die Anzahl der MySQL-Aufrufe in meinem PHP-Script zu verringern.
Frage 1: Das ist doch effizienter, oder? :)
So, nun bin ich mir aber nicht sicher, ob das, was ich will, überhaupt mit einem Query geht. Ich habe diese 2 Tabellen:
gc_squad:
squad_id | clan_id | leader_id | game_id | name | optionen
1 | 1 | 2 | 1 | "Broodwar Squad" | "blah"
2 | 1 | 1 | 2 | "Dark Age of Camelot Gilde" | "blubb"
gc_user2squad
user_id | squad_id
1 | 1
1 | 2
2 | 1
Die 2. Tabelle stellt also eine Verbindung zwischen (einer hier nicht aufgeführten) Usertabelle und der Squadtabelle her. Ein User kann wie man sieht in mehreren Squads sein. So, jetzt zu meinem Anliegen: ich möchte squad_id, name und optionen aus gc_squad haben, und zwar nur von den Squads, in denen der User mit der user_id 1 ist. Hier mein gescheiteter Versuch:
Die Anfrage war: SELECT squad_id, name, optionen FROM gc_squad WHERE gc_user2squad.user_id=1 AND squad_id=gc_user2squad.squad_id
MySQL-Fehler Nr. 1109: Unknown table 'gc_user2squad' in where clause
Mit 2 Querys ist das kein Problem (erst die IDs von den Squads holen und danach die Daten), ich würde es aber gerne in einem hinkriegen. Die Tabelle gc_user2squad existiert natürlich in der selben Datenbank - daher verstehe ich die Fehlermeldung auch nicht.
Danke schonmal,
Johannes
Ich muss zugeben, in MySQL habe ich noch nicht so tiefgehende Kenntnisse, da man ja im Normalfall auch nicht viel braucht. Da MySQL aber deutlich mehr machen kann, und ich gerne etwas effizienter programmieren würde, versuche ich gerade, die Anzahl der MySQL-Aufrufe in meinem PHP-Script zu verringern.
Frage 1: Das ist doch effizienter, oder? :)
So, nun bin ich mir aber nicht sicher, ob das, was ich will, überhaupt mit einem Query geht. Ich habe diese 2 Tabellen:
gc_squad:
squad_id | clan_id | leader_id | game_id | name | optionen
1 | 1 | 2 | 1 | "Broodwar Squad" | "blah"
2 | 1 | 1 | 2 | "Dark Age of Camelot Gilde" | "blubb"
gc_user2squad
user_id | squad_id
1 | 1
1 | 2
2 | 1
Die 2. Tabelle stellt also eine Verbindung zwischen (einer hier nicht aufgeführten) Usertabelle und der Squadtabelle her. Ein User kann wie man sieht in mehreren Squads sein. So, jetzt zu meinem Anliegen: ich möchte squad_id, name und optionen aus gc_squad haben, und zwar nur von den Squads, in denen der User mit der user_id 1 ist. Hier mein gescheiteter Versuch:
Die Anfrage war: SELECT squad_id, name, optionen FROM gc_squad WHERE gc_user2squad.user_id=1 AND squad_id=gc_user2squad.squad_id
MySQL-Fehler Nr. 1109: Unknown table 'gc_user2squad' in where clause
Mit 2 Querys ist das kein Problem (erst die IDs von den Squads holen und danach die Daten), ich würde es aber gerne in einem hinkriegen. Die Tabelle gc_user2squad existiert natürlich in der selben Datenbank - daher verstehe ich die Fehlermeldung auch nicht.
Danke schonmal,
Johannes