Abfrage über 4 Tabellen

Hallo Zusammen,

ich habe mal wieder ein Problem was mich vor einer unüberwindbaren Wand stehen lässt. Also ich habe insgesamt 4 Tabellen.
Tabelle „a“ enthält alle Information um ein Element aus „a“ zu planen. Eine ID, den Namen des Objekts, das Plandatum, wer dafür Verantwortlich ist, u.s.w.
Eine ähnliche Tabelle habe ich für „r“. „r“ sind im unterschied zu „a“ keine vorgeplanten Dinge, und so gibt es in „r“ fast die gleichen Daten außer das Plandatum.
Nun gibt es eine dritte Tabelle „Objekte“. In dieser Tabelle werden alle Informationen der Durchführung gespeichert. Wieviele Tage? Welche Besonderheiten? etc. Darüberhinaus führt die Tabelle Objekte die jeweilige ID aus „a“ oder „r“ mit und ein Feld Kategorie, wo jeweils „a“ oder „r“ drin steht, um den DS eindeutig zuordnen zu können.
In der vierten Tabelle stehen nun noch weiterführende Massnahmen drin zu „a“ und „r“.

Nun zu meinem eigentlichen Problem:
Ich möchte eine Abfrage machen, ich möchte alle offenen Massnahmen zu einem ausgewählten Verantwortlichen aufgelistet haben. Da ja aber in „a“ und „r“ verschiedene Dinge drin stehen, stelle ich mir das so vor:

zu Person (Verantwortlicher) XY:
„Objektname“ „Katgeorie“ „offene Massnahmen“
test a Massnahme1
test a Massnahme2
xyz r Massnahme1

Ist das so möglich?
Ich habe halt derzeit das Problem dass ich ihm nicht sagen dass er den Objektnamen je nach angegebener Kategorie aus „a“ oder „r“ zu beziehen hat. Zur Zeit stellt er mir immer die Namen aus „a“ dar und das ist ja falsch.

Ich hoffe ihr könnt das verstehen, ich verstehe es nämlich nicht.

Viele Grüße
ElaD

Löse doch das ganze über eine Union-Anweisung

  1. Abfrage filtert alle A-Objekte und deren Maßnahmen
  2. Abfrage filtert alle R-Objekte und deren Maßnahmen
    Achte darauf, dass beide Abfragen die gleiche Anzahl Spalten haben.
    Führe sie mit einer Union zusammen:
    Select * from AbfrageA union all Select * from AbfrageR

Oder gleich als SQL:

Select a.ID, a.Objekt, a.Plandatum, a.Verantwortlich, Obj.Bezeichnung, Maßnahmen.Maßnahme from A Inner Join Obj on a.ID=obj.ID Inner Join Maßnahmen on a.ID=Maßnahmen.ID
where Obj.Kategorie=‚a‘ and Maßnahmen.Kategorie=‚a‘
UNION ALL
Select r.ID, r.Objekt, ‚‘ as Plandatum, r.Verantwortlich, Obj.Bezeichnung, Maßnahmen.Maßnahme from r Inner Join Obj on r.ID=obj.ID Inner Join Maßnahmen on r.ID=Maßnahmen.ID
where Obj.Kategorie=‚r‘ and Maßnahmen.Kategorie=‚r‘

Von der Maßnahmentabellen hattest du die Verknüpfungseigenschafen nicht angegeben, ich habe die gleichen Felder wie in Objekte angenommen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo EPa,

vielen vielen Dank, dass war genau das was ich gesucht habe. Manchmal steht man halt echt ätzend auf dem Schlauch.

DANKE DANKE.

Viele Grüße
ElaD