Abfrage mit kontextabhängig eingebundenen Tabellen

Hallo zusammen,

gibt es eine Möglichkeit, Daten von Tabelle A und Tabelle B abzufragen, wobei der Wert einer bestimmten Spalte in A darüber entscheidet, wie Tabelle B heisst?

Hintergrund: Eine Tabelle “Teststeps” (A) enthält generische Daten eines Prüfschrittes sowie dessen Typ. Abhängig vom Typ sollen passende Parameter dazu geladen werden. Da der Parametersatz für jeden Typ anders strukturierte Daten enthält, gibt es für jeden Typ auch eine eigene Parametertabelle (B). Jetzt hätte ich gerne ein SQL-Statement, dass den benötigten Tabellennamen für B ermitteln kann und damit keine 50 Fallunterscheidungen enthalten muss…

Grüße
Marcel

nein, nicht direkt. Du könntest aber eine stored proc schreiben, in dieser dann die Anfrage zusammenbauen und via execute ausführen.

https://www.postgresql.org/docs/12/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

eine bessere Lösung als immer eine Tabelle je Parametertyp wäre der Einsatz von HSTORE oder JSON(B).

Guten Morgen akretschmer,

…und vielen Dank für Deine Hinweise. HSTORE/JSON scheint genau das zu sein, was ich hier benötige.

Viel Erfolg
Marcel

1 Like