Ok, also folgende Situation:
Ich möchte einen "dynamischen" Select generieren um folgendes zu ermöglichen:
Je nach abgelegtem Tabellennamen in dem Feld "Tablename" der Quelltabelle Namedefinition sollen weitere Werte aus den sich daraus verzweigenden Tabellen ermittelt werden:
Select Value from ( Select Tablename from Namedefinition where ID = x123)
Ich möchte mich also je nach Auswahl auf eine andere untergeordnete Tabelle beziehen.
In diesem Fall soll der Select den Value der Tabelle "Widerstand" (ID=x123) ausgeben.
Diese Art von Subselect funktioniert nicht, warum und gibt es alternative Möglichkeiten um solche Verzweigungen zu ermöglichen?
Liegt das Problem daran, dass der Subselect:
Select Tablename from Namedefinition where ID = x123
einen varchar(x) = 'Widerstand' zurückgibt und somit
ein Select der Form Select Value from 'Widerstand'
nicht funktioniert, da die betreffende Tabelle in Form eines Strings angegeben wird?
Ich möchte einen "dynamischen" Select generieren um folgendes zu ermöglichen:
Je nach abgelegtem Tabellennamen in dem Feld "Tablename" der Quelltabelle Namedefinition sollen weitere Werte aus den sich daraus verzweigenden Tabellen ermittelt werden:
1 Haupttabelle:
In dieser Haupttabelle werden die zur Verfügung stehenden Verzweigungsmöglichkeiten aufgelistet. Gespeichert sind die Tabellennamen als varchar(x).
Tabelle: Namedefinition
ID __Tablename
x123 Widerstand
x252 Isolation
x314 Spannung
3 Untertabellen:
Jede dieser Untertabellen kann Werte aufnehmen und soll durch den Select ansteuerbar sein um den gespeicherten wert mit dem aus der Haupttabelle zu vergleichen.
Tabelle Widerstand:
Value
5
Tabelle Isolation:
Value
2
Tabelle Spannung:
Value
3
In dieser Haupttabelle werden die zur Verfügung stehenden Verzweigungsmöglichkeiten aufgelistet. Gespeichert sind die Tabellennamen als varchar(x).
Tabelle: Namedefinition
ID __Tablename
x123 Widerstand
x252 Isolation
x314 Spannung
3 Untertabellen:
Jede dieser Untertabellen kann Werte aufnehmen und soll durch den Select ansteuerbar sein um den gespeicherten wert mit dem aus der Haupttabelle zu vergleichen.
Tabelle Widerstand:
Value
5
Tabelle Isolation:
Value
2
Tabelle Spannung:
Value
3
Select Value from ( Select Tablename from Namedefinition where ID = x123)
Ich möchte mich also je nach Auswahl auf eine andere untergeordnete Tabelle beziehen.
In diesem Fall soll der Select den Value der Tabelle "Widerstand" (ID=x123) ausgeben.
Diese Art von Subselect funktioniert nicht, warum und gibt es alternative Möglichkeiten um solche Verzweigungen zu ermöglichen?
Liegt das Problem daran, dass der Subselect:
Select Tablename from Namedefinition where ID = x123
einen varchar(x) = 'Widerstand' zurückgibt und somit
ein Select der Form Select Value from 'Widerstand'
nicht funktioniert, da die betreffende Tabelle in Form eines Strings angegeben wird?
Comment