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