Jörg: mysql: Left Join an dieser Stelle?

Beitrag lesen

Hallo Rolf,

Filtere den User mal vorne, beim Join von alletage und stunden. Dann wird das nur auf die Stundentabelle angewendet.

Habe ich versucht, leider ohne Erfolg:

    SELECT
    STD.Datum,
    a.Datum
FROM
    alletage a
LEFT JOIN stunden STD ON
    (
        a.Datum = STD.Datum AND STD.User = 'xyz'
    )
WHERE
    STD.Datum BETWEEN '2021-04-01' AND '2021-04-30'
ORDER BY
    STD.Datum ASC

ergibt bei mir immer noch erst Daten ab dem 06.04.2021. 😟

    SELECT
    STD.Datum,
    a.Datum
FROM
    alletage a
LEFT JOIN stunden STD ON
    (
        a.Datum = STD.Datum
    )
WHERE
    STD.Datum BETWEEN '2021-04-01' AND '2021-04-30'
ORDER BY
    STD.Datum ASC

ergibt alle Daten ab dem 01.04.2021, aber dann eben nicht mehr für meinen User "xyz", sondern über alle User hinweg.

Beim Zumischen der Sonder-Tabelle brauchst keinen Vergleich des Users mit den $_POST Daten. Denke ich jedenfalls. Denn da hast Du ja eh schon std.user = s.user im ON.

Ja, das sehe ich genauso.

Aber es gelingt mir leider immer noch nicht, meinen LeftJoin wirksam zu erzeugen. Kenne ich so gar nicht 😟

Jörg