Ich habe eine Oracle-Tabelle mit dem Namen: col_mapping wobei eine Spalte in dieser Tabelle die Spaltenwerte von Spalten aus einer anderen Tabelle enthält.Verwenden von Spaltenwerten aus einer Tabelle innerhalb einer SELECT-Klausel aus einer anderen Tabelle
Beispiel Daten der Tabelle:
ID DESCR COL_VALS
------------------------------
1 LABEL COL_1
2 NAME_ADDR COL_2:COL_3
3 SALARY COL4
Basierend auf der obigen Tabelle col_mapping, ich möchte nun durch jeden Datensatz in col_mapping gehen und die COL_VALS als Teil meiner
select COL_VALS from other_tab
verwenden offensichtlich , wenn es mehr als einen Wert wie COL_2: COL_3 gibt, muss das ':' durch ein ','
SELECT COL_1 from other_tab;
SELECT COL_2,COL_3 from other_tab;
SELECT COL_4 from other_tab;
ersetzt werden
Jede Hilfe, wie man das oben genannte in Oracle erreicht, wäre großartig.
Danke.
Möchten Sie diese Select-Anweisungen nur als Strings generieren oder tatsächlich ausführen? Um sie auszuführen, benötigen Sie eine Form von dynamischem SQL. und was würden Sie mit den Ergebnissen der Abfragen tun? Ist die 'descr'-Spalte relevant - soll das ein Alias für die abgefragten Spalten sein, und wenn ja, soll der zweite 'col_2' und' col_3' zu einem einzigen Wert kombinieren? –
@Alex Poole Ich möchte diese Select-Anweisungen tatsächlich generieren und die tatsächlichen Werte für diese Spalten in der Tabelle other_tab in eine Staging-Tabelle einfügen. Die descr-Spalte lässt mich einfach wissen, was in den col_vals liegt, also mit col_2 und col_3 möchte ich diese als separate Werte. Hoffe das hilft. Vielen Dank. – tonyf
Hat Ihre Staging-Tabelle die gleichen Spaltennamen und Datentypen wie 'other_tab'? Wenn nicht, wie werden die Werte abgebildet und konvertiert? –