Verknüpfung mehrerer Tabellen
Verknüpfung mehrerer Tabellen

In manchen Fällen möchten Sie Daten verschiedener Tabellen gemeinsam nutzen, um eine bestimmte Aussage in der Karte deutlicher zu machen.

Im nachfolgenden Beispiel sind die Einzugsgebiete der Flüsse in der einen Tabelle nur nummerisch mittels Kennnummern hinterlegt. Es liegt allerdings auch eine Tabelle mit den Kennnummern und einem Klarnamen vor. Allerdings enthält letztere genannte Tabelle nicht jene Geometrien, welche sie in der Karte anzeigen möchten.

Sie wollen die Klarnamen der letzteren Tabelle für die Beschriftung der Geometrien der Flusseinzugsgebiete nutzen. Dafür verknüpfen Sie beide Tabellen über die Kennnummern und fügen eine Spalte mit den Klarnamen an

(
select a.oid, a.*, s.ezg_name as ezg_name
from area.ezg_teil as
a
left join area.ezg_haupt as s
on s.gkz_3st = a.gkz_3st
)a

Die blau gekennzeichneten Elemente gehören zur Tabelle der Einzugsgebiete, welche ergänzt werden soll. Rot sind Elemente der anzuhängenden Tabelle. Der Ausdruck in der ersten Zeile "s.ezg_name as ezg_name" weist der neuen Spalte die Datengrundlage und den Tabellennamen zu.

Beachten Sie die Reihenfolge der Elemente in der mit "on..." beginnenden Zeile.

Im oben aufgeführten Beispiel wurde LEFT JOIN verwendet, allerdings ist auch die Nutzung von INNER JOIN möglich.

LEFT JOIN: Alle Werte des Linken Ausdrucks nach "on..." werden übernommen. Existiert kein passender Ausdruck in der zweiten Tabelle, dann wird die Zelle auf NULL gesetzt.

INNER JOIN: Nur jene Werte für die es in beiden Tabellen einen Ausdruck gibt, werden übernommen. Alle anderen Werte fehlen in der neu erstellten Spalte.