Rolf B: Keine Ausgabe - komplizierte Abfrage

Beitrag lesen

Hallo Bernd,

ergänzend zu Dedlfix:

Welchen Datentyp hat die Spalte kt_datum? Vielleicht hast Du das früher mal geschrieben, aber das merken wir uns nicht unbedingt 😀

Die LEFT JOINs reduzieren nicht die Ergebnismenge und können darum nicht an den 0 Treffern schuld sein. Es muss der WHERE sein, und ich würde mal vermuten: kt_datum ist ein DATETIME-Wert. In dem Fall musst Du einen Bereich abfragen: kt_datum >= '2019-05-26' AND kt_datum < '2019-05-27'

Das ist natürlich blöd, wenn das abzufragende Datum aus einer Variablen kommen soll. Was Du aber keinesfalls tun solltest, ist dies:

SELECT kp_id, kp_code, kp_userID, kp_status, kt_kalenderID, kt_datum, ...
FROM kalender_personal 
LEFT JOIN ...
LEFT JOIN ...
LEFT JOIN ...
WHERE  DATE(kt_datum) = '2019-05-26'

Das wird zwar funktionieren, ist aber ineffizient, weil MYSQL dann einen Table Scan macht. Bestenfalls einen Index-Scan (wenn kt_datum im Index ist).

Besser ist es, in PHP das Datum des Folgetages zu bestimmen und damit die Bereichsabfrage zu bauen.

Rolf

--
sumpsi - posui - clusi