Knud: (MySQL) Abfrage-Problem

Beitrag lesen

Hallo,

Diese Abfrage liefert mir leider nur diejenigen Mitarbeiter, die auch einen Eintrag in der Tabelle urlaubsdaten haben.
Das ist logisch. Bei Dir hat die Tabelle "urlaubdaten" den Alias a und Du willst doch ausdrücklich _nur_ Datensätze, bei denen gilt:

a.urlaubvon LIKE '2004-%' OR a.urlaubbis LIKE '2004-%'

Bei Datensätzen, die Werte in mitarbeiter, aber _keine_ Werte in urlaubdaten haban, haben diese Felder _beide_ den Wert NULL.

viele Grüße

Axel

Aber auch wenn ich die Abfrage dann so formuliere...

SELECT a. * , b.vorname, b.name, b.verantwortlich, c.bezeichnung, c.farbe
FROM (
urlaubdaten AS a
LEFT JOIN telefon AS b ON a.personalnummer = b.personalnummer
)
LEFT JOIN urlaubarten AS c ON a.artnr = c.artnr
WHERE (
a.personalnummer IS NULL OR (
a.urlaubvon
LIKE '2004-%' OR a.urlaubbis
LIKE '2004-%'
)
) AND b.firma = 'Firma GmbH' AND b.abteilung = 'Einkauf'
ORDER BY a.personalnummer, a.urlaubvon

... erscheint bei mir nur der einer Satz, der in Urlaubdaten vorhanden ist.

Gruß,

Knud