Ziel:
Mit dieser Abfrage werden verschiedene Funktionsträger eines Objektes abgefragt.
Hausverwalter Funktion
DECLARE @hvFunktion as int
SET @hvFunktion = 11300
Hausmeister Funktion
DECLARE @hmFunktion as int
SET @hmFunktion = 11600
SELECT OB_OBJEKT,
OB_OBVEREH,
OB_BEZEICHNUNG,
Hausverwalter
CASE WHEN peHV.PE_ID IS NOT NULL THEN
isnull(peHV.PE_NACHNAME,) + ' '+ isnull(peHV.PE_VORNAME,) + '(P)'
WHEN krHV.KR_ID IS NOT NULL THEN
isnull(krHV.KR_NAME,) + ' '+ isnull(krHV.KR_NAME,) + '(K)'
ELSE 'Funktion '+cast(@hvFunktion as varchar)+' nicht gefunden!'
end as Hausverwalter,
Hausmeister
CASE WHEN peHM.PE_ID IS NOT NULL THEN
isnull(peHM.PE_NACHNAME,) + ' '+ isnull(peHM.PE_VORNAME,) + '(P)'
WHEN krHM.KR_ID IS NOT NULL THEN
isnull(krHM.KR_NAME,) + ' '+ isnull(krHM.KR_NAME,) + '(K)'
ELSE 'Funktion '+cast(@hmFunktion as varchar)+' nicht gefunden!'
end as Hausmeister
FROM NET_OBJEKT obj with(nolock)
---------
Verbindung als Hausverwalter
---------
LEFT OUTER JOIN NET_FUNK_ZU fzHV with(nolock)
ON (fzHV.OB_ID = obj.OB_ID AND fzHV.FK_FUNKTION = @hvFunktion
Nur gültige Hausverwalter(inen) wollen wir haben
AND getdate() between fzHV.FK_BEGINN and fzHV.FK_ENDE)
HV als mögliche Person
LEFT OUTER JOIN NET_PERSON peHV with(nolock)
ON (peHV.PE_ID = fzHV.PE_ID)
HV als möglicher Kreditor
LEFT OUTER JOIN NET_KREDITOR krHV with(nolock)
ON (krHV.KR_ID = fzHV.KR_ID)
---------
Verbindung als Hausmeister
---------
LEFT OUTER JOIN NET_FUNK_ZU fzHM with(nolock)
ON (fzHM.OB_ID = obj.OB_ID AND fzHM.FK_FUNKTION = @hmFunktion
Nur gültige Hausmeister(inen) wollen wir haben
AND getdate() between fzHM.FK_BEGINN and fzHM.FK_ENDE)
HM als mögliche Person
LEFT OUTER JOIN NET_PERSON peHM with(nolock)
ON (peHM.PE_ID = fzHM.PE_ID)
HM als möglicher Kreditor
LEFT OUTER JOIN NET_KREDITOR krHM with(nolock)
ON (krHM.KR_ID = fzHM.KR_ID)
ORDER BY OB_OBJEKT, OB_OBVEREH