WHERE - aber nicht für alles?

  • Hallo!

    Seit Tagen bin ich jetzt schon am probieren und komme leider auf keine Lösung!

    Mein jetziger Code:

    SELECT Datum, Beginn, Ende from Tabelle WHERE (YEAR(Datum) = '".$jah."' AND MONTH(Datum) = '".$mon."' AND Name = '".$member."') GROUP BY Datum

    Soweit so gut - macht ja auch das was es soll, aber ich hätt gerne, dass der "Name = '".$member."'"-Filter nicht auf das Datum wirkt, sodass ALLE Tage des Monats aufgelistet werden und eben nur dort wo dieser Mitarbeiter gearbeitet hat Werte drin stehen! Bei meinem Code werden ja nur die Tage gelistet an denen er gearbeitet hat!

    Jetzt:
    1.5.2015 06:00 15:00
    9.5.2015 06:00 15:00
    15.5.2015 06:00 15:00

    Sollte aber so sein:
    Jetzt:
    1.5.2015 06:00 15:00
    2.5.2015
    3.5.2015
    4.5.2015
    5.5.2015
    6.5.2015
    7.5.2015
    8.5.2015
    9.5.2015 06:00 15:00
    etc.

    Jemand eine Idee?

    Danke im Voraus LG
    Stefan ;)

  • Joine die Tabelle ein 2. Mal (über LEFT JOIN) und suche darüber die entsprechenden Datensätze raus. Um die Ergebnismengen zu unterscheiden lohnt es sich Tabellen-Aliase zu verwenden.