Moinsen,
ich würd noch sehr viel schreiben, aber hab grad leider wenig Zeit um ne Lösung für folgendes Problem zu finden.
Wär klasse wenn ihr hier mal rüberschaut:
SELECT RTRIM(mitarbeiter.nachname_s) + ', ' + RTRIM(mitarbeiter.vorname_s) AS Name,
abwesenheiten.abwesendvon_d,
abwesenheiten.abwesendbis_d,
abwesenheiten.begruendung_s,
abwesenheiten.abwesenheit_id,
len(RTRIM(mitarbeiter.nachname_s) + ', ' + RTRIM(mitarbeiter.vorname_s)) AS Name_Laenge,
(DATEDIFF(day, abwesenheiten.abwesendvon_d, abwesenheiten.abwesendbis_d)+1) AS 'Tage (insg.)' ,
(DATEDIFF(dd, abwesenheiten.abwesendvon_d, abwesenheiten.abwesendbis_d) + 1)
-(DATEDIFF(wk, abwesenheiten.abwesendvon_d, abwesenheiten.abwesendbis_d) * 2)
-(CASE WHEN DATENAME(dw, abwesenheiten.abwesendvon_d) = 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, abwesenheiten.abwesendbis_d) = 'Saturday' THEN 1 ELSE 0 END) AS 'Tage (ohne WE)',
'Urlaub' AS 'typ'
FROM abwesenheiten
LEFT JOIN mitarbeiter on abwesenheiten.mitarbeiter_s = (RTRIM(mitarbeiter.nachname_s) + ', ' + RTRIM(mitarbeiter.vorname_s))
UNION
SELECT bereitschaften.mitarbeiter_s,
bereitschaften.bereitschaftvon_dt,
bereitschaften.bereitschaftbis_dt,
bereitschaften.bemerkung_s,
bereitschaften.bereitschaft_id,
len(RTRIM(bereitschaften.mitarbeiter_s)) AS Name_Laenge,
bereitschaften.gepaufwand_n,
bereitschaften.tataufwand_n,
bereitschaften.bereitschaftstyp_s
FROM bereitschaften
WHERE 'Name' IN (SELECT tmp.string_s
FROM tmp
WHERE login_s = 'FBOETT');
Kurz gesagt:
Der erste Select holt mir alle Abwesenheiten und der zweite alle Bereitschaften.
Die WHERE-Clause ganz unten soll für das gesamte Statement gelten und mir alle Daten aus den mit UNION verbunden Tabellen geben in denen "mitarbeiter_s" gleich den Namen der in der unteren WHERE-CLAUSE selektiert wird.
Ich denke es ist nur ein Syntax-Fehler aber der Select ist für meine Verhältnisse schon ein bisschen "fetter" und bis jetzt hab ich noch keine Lösung.
Wär klasse wenn ihr helfen könntet ;-)
lg,
Flow