ich habe da mal wieder ein Problem beim zusammenstellen eines SQL-Statements.
Also, ich habe da eine Tabelle wo alle Mitglieder drin stehen. Diese Tabelle enthält, neben den Feldern für die Stammdaten und einige Persönliche Einstellungen, auch ein Feld für die Positionen innerhalb des Vereins. Diese Feld heißt 'club_positions' (natürlich ohne die Hochkommata). Da ein Mitglied mehrere Positionen (theoretisch beliebig viele) innerhalb des Vereins haben kann speichere ich, für den Fall dass es mehrere Positionen sind, die entsprechenden ID's durch normale Kommata getrennt in dem Feld.
Die einzelnen Vereins-Positionen speichere ich in der Tabelle 'club_positions'.
Diese Tabelle hat folgende Felder:
id [auto_increment]
position_name
position_type [0 = Vorstand; 1 = Trainer]
Da ich sowohl die Positionen des Vereins-Vorstandes als auch die der Trainer in der Tabelle speichere, habe ich das Feld 'position_type' eingefügt um eine Unterscheidung zwischen Vorstand und Trainer treffen zu können.
Wenn ich jetzt folgendes SQL-Statement ausführen lasse
- Code: Select all
SELECT * FROM
`".MYSQL_TABLE_MEMBERS."`
WHERE
(
`club_positions` LIKE (SELECT id FROM `".MYSQL_TABLE_CLUB_POSITIONS."` WHERE (`position_type` = '1'))
)
bekomme ich die, korrekten, Fehlermeldung dass das Sub-Query mehr als ein Result-Set zurückliefert.
Ich habe aber keine Ahnung wie ich das Gesammt-Statement schreiben muss um nur die Trainer geliefert zu bekommen.
Ich bin nicht der SQL-Kenner. Daher finde ich auch nicht das passende im MySQL-Manual.
Bitte helft mir.
Danke schonmal im vorraus.
Kai aka Knight1