Kerstin: Joins verknüpfen

Beitrag lesen

Halihallo

gibt es die Möglichkeit verschiedene Joins in einer DB-Abfrage zu verknüpfen?

Allgemein gesagt: Ja, das macht man ja eigentlich immer, wenn man mehrere Tabellen in einen Query packt.

Ich möchte einen Outer Join nicht auf zwei Tabellen, sondern auf zwei durch Equi-Joins verknüpfte Tabellen anwenden.
Geht das oder muss ich mir zuerst temporäre Tabellen anlegen, die ich dann durch den outer join verknüpfen kann?

Wenn ich dein Vorhaben richtig verstanden habe, kommst du nicht um eine temporäre Tabelle herum.
Aber zum Überprüfen meiner Aussage wären einige Beispieldaten und den entsprechenden Query nötig (kann ja sein, dass ich dich missverstanden habe).

Viele Grüsse

Philipp

Hallo Philipp,

danke für Deine Antwort. Ich hab es jetzt mal mit temporären Tabellen versucht und jetzt weiss ich zumindest, dass es überhaupt funktioniert:-)

Ich möchte für verschiedene Gebäudeebenen Themen festlegen. Das heisst, wenn man ein Gebäude wählt, sollen für jede Ebene alle Themen angezeigt werden. Die Themen die der Ebene bereits zugewiesen sind, sollen durch eine Checkbox markiert sein, so dass diese auch wieder abgewählt und neue hinzugewählt werden können. Dazu hab ich 3 Tabellen: eine mit allen Ebenen, eine mit allen Themen und eine Tabelle, in der den Ebenen Themen zugewiesen sind.
Als Ergebnis möchte ich dann also ne Liste haben, in der alle Ebenen mit allen Themen vorkommen, also auch die Ebenen, wo es das Thema nicht gibt und das Feld dann eben leer ist.
Ich hoff mal, das ist jetzt nicht zu konfus, hier sind mal die querys, wie es mit temporären Tabellen geklappt hat.

CREATE TABLE g10_ebene_temp AS
SELECT distinct ebene, thema FROM g10_ebene, g10_themen
  WHERE onr=#FORM.gebaeude#

CREATE TABLE g10_ebene_thema_temp AS
SELECT distinct ebene, id FROM g10_themen, g10_ebene_thema
  WHERE onr=#FORM.gebaeude#
  AND thema=id

select distinct g10_ebene_temp.ebene, g10_ebene_temp.id, g10_ebene_thema_temp.id from g10_ebene_temp, g10_ebene_thema_temp where g10_ebene_temp.id=g10_ebene_thema_temp.id(+) order by g10_ebene_temp.ebene;

viele Grüsse Kerstin