Folgende Datenbankfelder/Tabellen:
Mein SQL STMT (soll ein view werden im MS SQL Server 2000):
SELECT DISTINCT
TOP 100 PERCENT dbo.tbl_urlaub.ID AS ID, dbo.tbl_urlaub.int_mitarbeiter_ID AS int_mitarbeiter_ID, dbo.tbl_urlaubsart.str_bezeichnung AS str_urlaub,
dbo.tbl_unternehmen.str_bezeichnung AS str_unternehmen, dbo.tbl_urlaub.date_von AS date_von, dbo.tbl_urlaub.date_bis AS date_bis
FROM dbo.tbl_unternehmen RIGHT OUTER JOIN
dbo.tbl_ma_change_unternehmen ON dbo.tbl_unternehmen.ID = dbo.tbl_ma_change_unternehmen.int_unternehmen_ID RIGHT OUTER JOIN
dbo.tbl_urlaub ON dbo.tbl_ma_change_unternehmen.date_von <= dbo.tbl_urlaub.date_von AND
dbo.tbl_ma_change_unternehmen.int_mitarbeiter_ID = dbo.tbl_urlaub.int_mitarbeiter_ID LEFT OUTER JOIN
dbo.tbl_urlaubsart ON dbo.tbl_urlaub.int_urlaubsart_ID = dbo.tbl_urlaubsart.ID
WHERE (dbo.tbl_urlaub.date_von BETWEEN dbo.tbl_ma_change_unternehmen.date_von AND dbo.tbl_ma_change_unternehmen.date_bis) OR
(dbo.tbl_urlaub.date_von > dbo.tbl_ma_change_unternehmen.date_von) AND (dbo.tbl_ma_change_unternehmen.date_bis IS NULL)
Mein Problem:
Es werden eigentlich alle Daten richtig zurückgeben (immer mit richtigem / aktuellen Unternehmen). Aber leider werden die Datensätze nicht zurückgeben wo der Mitarbeiter in keinen Unternehmen aktiv ist.
Hat irgendwer wenigstens einen Ansatz?
lg und Danke )
Mein SQL STMT (soll ein view werden im MS SQL Server 2000):
SELECT DISTINCT
TOP 100 PERCENT dbo.tbl_urlaub.ID AS ID, dbo.tbl_urlaub.int_mitarbeiter_ID AS int_mitarbeiter_ID, dbo.tbl_urlaubsart.str_bezeichnung AS str_urlaub,
dbo.tbl_unternehmen.str_bezeichnung AS str_unternehmen, dbo.tbl_urlaub.date_von AS date_von, dbo.tbl_urlaub.date_bis AS date_bis
FROM dbo.tbl_unternehmen RIGHT OUTER JOIN
dbo.tbl_ma_change_unternehmen ON dbo.tbl_unternehmen.ID = dbo.tbl_ma_change_unternehmen.int_unternehmen_ID RIGHT OUTER JOIN
dbo.tbl_urlaub ON dbo.tbl_ma_change_unternehmen.date_von <= dbo.tbl_urlaub.date_von AND
dbo.tbl_ma_change_unternehmen.int_mitarbeiter_ID = dbo.tbl_urlaub.int_mitarbeiter_ID LEFT OUTER JOIN
dbo.tbl_urlaubsart ON dbo.tbl_urlaub.int_urlaubsart_ID = dbo.tbl_urlaubsart.ID
WHERE (dbo.tbl_urlaub.date_von BETWEEN dbo.tbl_ma_change_unternehmen.date_von AND dbo.tbl_ma_change_unternehmen.date_bis) OR
(dbo.tbl_urlaub.date_von > dbo.tbl_ma_change_unternehmen.date_von) AND (dbo.tbl_ma_change_unternehmen.date_bis IS NULL)
Mein Problem:
Es werden eigentlich alle Daten richtig zurückgeben (immer mit richtigem / aktuellen Unternehmen). Aber leider werden die Datensätze nicht zurückgeben wo der Mitarbeiter in keinen Unternehmen aktiv ist.
Hat irgendwer wenigstens einen Ansatz?
lg und Danke )