title image


Smiley Problem mit JOIN
Hi,



ich habe eine Tabelle mit Gewinnspieldaten:



id, start, ende, frage, antwort1........, preis, ra, erledigt



Nun möchte ich gern alle Gewinnspiele anzeigen, die noch *nicht* gestartet sind oder zu Ende und erledigt. Die Spalte erledigt hat als Standard 0 und im erldigt Fall eine 1, start und ende sind DATE-Felder.



Erster Versuch:



SELECT id, DATE_FORMAT(start, '%d.%m.%Y') AS sta, DATE_FORMAT(ende, '%d.%m.%Y') AS end, frage, erledigt FROM gewinnspiel ORDER BY start;



Ergebnis: Ich bekomme alle angezeigt.



Zweiter Versuche:



SELECT id, DATE_FORMAT(start, '%d.%m.%Y') AS sta, DATE_FORMAT(ende, '%d.%m.%Y') AS end, frage, erledigt FROM gewinnspiel WHERE (start NOW() AND erledigt=1) ORDER BY start



Ergebnis: Ich bekomme ebenfalls alle angezeigt, auch die, die schon laufen.



Habe ich gedacht, ich nehme die Teilnehmertabelle noch dazu und schau, ob schon gestartet, aber noch keine Teilnehmer vorhanden sind.



Dritter Versuche:



SELECT a.id, DATE_FORMAT(a.start, '%d.%m.%Y') AS sta, DATE_FORMAT(a.ende, '%d.%m.%Y') AS end, a.frage, a.erledigt, COUNT(b.id) AS teiln FROM gewinnspiel AS a LEFT JOIN gewinnspiel_teilnehmer AS b ON a.id=b.g_id WHERE (a.start NOW() AND a.erledigt=1) GROUP BY a.id ORDER BY a.start



Teilnehmer besteht aus:



id, g_id, name, email



wobei g_id die id vom Gewinnspiel ist.



Ergebnis: Es wird garkeines mehr angezeigt.



Nochmal das Ziel: Alle Gewinnspiele anzeigen, die noch nicht gestartet sind, oder schon gestartet sind, aber keine Teilnehmer haben oder bereits zu Ende und erledigt sind.



Die gewonnen Daten werden mit PHP weiterverarbeitet, evtl. muß ich halt mehrere Abfragen in der DB machen.



Wer kann mir bei dem Problem helfen?



Vielen Dank schonmal,

Gruß Uwe


Glaskugel

Es ist ein Drama: Die Glaskugeln der potenziellen Helfer sind immer, wenn sie gebraucht werden, entweder verschmutzt oder gerade zur Reparatur unterwegs. ;-)


 


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: