MySQL 4 -> nicht existente Datensätze finden

chriditz

Grünschnabel
Ich bastel zur Zeit an nem kleinen Spiel, bei dem ich die Daten von Spieltagen in eine wie folgt aufgebaute Tabelle schreibe:

gameday_players(gameday, season, cuid, Data1, Data2, ...)

Wenn ein Spieler jedoch nicht mehr aktiv ist, wird bei der Spieltagberechnung (die Spieltage aller Spieler werden zeitgleich zu festgelegten Intervallen berechnet) auch kein Datensatz für ihn erzeugt. Diese inaktiven Spieler möchte ich jetzt auch aus dem System nehmen, indem ich einfach nachgucke, für welche cuid's (=Spieler ID) es keinen Datensatz zum aktuellen gameday (z.B. "10") in der aktuellen season (z.B. "2") gibt.

Kann mir jemand nen Tipp geben, wie nen SELECT aussehen muß, was mir alle cuid's ausgibt, zu denen es keinen Eintrag zu einem bestimmten Spieltag in einer bestimmten Spielrunde gibt ?

Vielen Dank im Voraus !
Chri
 
Hallo und willkommen auf tutorials.de!

Ich hoffe mal, dass ich dein Problem richtig verstanden habe. Unter der Annahme, dass die Tabelle mit den Spielerdaten players und der Primärschlüssel cuid heißt, könnte Folgendes klappen:
Code:
SELECT
	`players`.`cuid`,
	`gameday_players`.`gameday`
FROM
	`players`
LEFT JOIN
	`gameday_players` ON (
		`gameday_players`.`cuid` = `players`.`cuid` AND
		`gameday_players`.`gameday` = 10 AND
		`gameday_players`.`season` = 2
	)
WHERE
	`gameday_players`.`gameday` = NULL

Grüße,
Matthias
 
Dank dir Matthias für deinen Lösung, aber leider klappt das so noch nicht. Mußte bei mir noch einiges umbenennen, so daß ich es mit folgendem versucht habe:
PHP:
SELECT
	`fanunio_users`.`cuid`,
	`fanunio_gamedays_players`.`gameday`
FROM
	`fanunio_users`
LEFT JOIN
	`fanunio_gamedays_players` ON (
		`fanunio_gamedays_players`.`cuid` = `fanunio_users`.`cuid` AND
		`fanunio_gamedays_players`.`gameday` = 35 AND
		`fanunio_gamedays_players`.`season` = 0506
	)
WHERE
	`fanunio_gamedays_players`.`gameday` = NULL
Es gibt Datensätze für season = 0506 und gameday = 34 (und davor auch). Wenn ich das aber so mit gameday = 35 mache gibt er mir null zurück....
 
Zurück