Abfragespalte dynamisch bestimmen
-
Hallo,
ich steh vor einem kleinen Problem. Und zwar, sagen wir ich habe eine Tabelle mit folgendem Aufbau:
id | wert1 | wert2 | wert3 | wert4 | wert5 |
und ich möchte nun anhand eines Parameters nur eine bestimmte Spalte als Ergebnis geliefert bekommen.
Also meinetwegen ist der Parameter 4, dann soll der Inhalt der Spalte wert4 geliefert werden.Ist so etwas überhaupt möglich mit SQL?
Ich dachte da an switch case Konstrukte, bin mir aber nicht sicher ob die dafür gedacht sind.
Das ganze müsste auf einer Oracle11 Datenbank laufen.
-
Nur mit SQL oder einer Programmiersprache wie C/C++? Mit einer Programmiersprache kannst du das ja elegant steuern.Mit SQL müsstest du dir eine SP zusammenschreiben, welche den Index-Parameter entgegennimmt und dir dann die entsprechende Spalte zurückgibt. Aber solch eine Dynamik in einer simplen SELECT-Anweisung anzuwenden ist glaub ich nicht möglich.
Oder meinst du doch einfach nur eine simple SELECT-Abfrage?
SELECT wert4 FROM meineTabelle
-
Sowas ist eigentlich kein gutes Design. Warum nicht eine Tabelle draus machen?
ID, WERTNR, WERT