sql Select auf Tabelle ohne Spaltennamen zu kennen

StefanLausL

Erfahrenes Mitglied
HAllo,

folgendes Problem:

aus einer View erhalte ich den Wert [Spaltenname2].
Nun möchte ich in der selben View einen Unterselect starten
der aus einer Tabelle genau diese Spalte ausliest.

Also von der Spalten ist mir ja die ID und der Name bekannt.
Ich bräuchte also so was wie "Select * from Tabelle where column_name = 'Spaltenname2'

Kann mir hier jemand helfen ?
Also als Skript könnte ich das schon bewerkstelligen ich möchte das aber in einer View haben.

Danke schon mal im Voraus.
 
Sorry, aber ich glaube ich verstehe nicht ganz

Also, du hast eine Tabelle (oder View), in der es eine Spalte
"column_name" gibt, aus der möchtest du alle Zeilen auslesen, für die column_name einen bestimmten Wert hat?

Du meinst nicht etwa
SELECT Spaltenname2 FROM Table...?

Bitte erkläre mir dein Problem genauer...
 
JA genau.

Also es gibt eine Tabelle mit Spaltennamen:

ID,
Name,
Ort

Aus der View erhalte ich den Wert Ort (Spalte3).
Nun möchte ich den Inhalt aus Ort (Spalte3 der Tabelle auslesen).
Wenn ich den Wert ID aus der View erhalte möchte ich dessen Spaltenwert auslesen.
 
Nochmal Sorry!

Bitte gib doch mal ein konkretes Beispiel für mich an, mit Testdaten und so. Ich habe immer noch nicht genau verstanden, was du eigentlich willst (bin schon so alt....)

Vielleicht kann ich dir dann helfen.
vop
 
Also ich versuch das mal mit nem "statischen" SELECT zu erklären.


SELECT
v.ID
,'Name'
,(SELECT
Name
FROM
tTable
WHERE
ID = v.ID) FeldWert
FROM
vView v

So sollte das Ergebnis aussehen.
Wenn ich den Wert 'Ort' aus der View erhalte möchte ich die Spalte [Ort]
aus der Tabelle selektieren.

Also nocheinmal.

Die Frage lautet:

Wenn ich eine Spaltenbezeichnung aus einer View heraus erhalte,
wie kann ich diese Spalte selektieren ?
 
Also hab das Problem jetzt doch per Skript gelöst.

Aber falls es doch eine andere Lösung gibt kannst mir dann bitte Bescheid geben ?


Danke !
 
Also hab das Problem jetzt doch per Skript gelöst.

Aber falls es doch eine andere Lösung gibt kannst mir dann bitte Bescheid geben ?


Danke !

Hallo,

Also, ich muss gestehen, dass ich auch etwas ratlos vor deiner Problembeschreibung gestanden habe...

Willst du etwa so etwas ? :

Code:
SELECT v.ID, t.Name FROM vView v, ttable t
WHERE v.id=t.id
AND v.id=FeldWert;


Gruss
 
Hi.

Ja, die Problembeschreibung ist etwas - äh - suboptimal :)

Ich nehme an, das er etwas will wie:
Code:
result = select xyz from view;

select $result from table;
Also das Resultat einer Abfrage (der Einfachheit halber nur ein Datensatz mit einer Spalte) soll dann als Name einer Tabellenspalte interpretiert werden für eine neue Abfrage. Liefert also die erste Abfrage den (einzelnen) Wert "Strasse", soll dann eine Abfrage auf die Spalte 'Strasse' erfolgen.

Grundsätzlich geht das nicht. Man muß das immer in irgendeiner Weise skripten, da man das zweite Select Statement erstmal zusammenfügen muss.

Gruß
 
Hi.

Ja, die Problembeschreibung ist etwas - äh - suboptimal :)

Ich nehme an, das er etwas will wie:
Code:
result = select xyz from view;

select $result from table;
Also das Resultat einer Abfrage (der Einfachheit halber nur ein Datensatz mit einer Spalte) soll dann als Name einer Tabellenspalte interpretiert werden für eine neue Abfrage. Liefert also die erste Abfrage den (einzelnen) Wert "Strasse", soll dann eine Abfrage auf die Spalte 'Strasse' erfolgen.

Grundsätzlich geht das nicht. Man muß das immer in irgendeiner Weise skripten, da man das zweite Select Statement erstmal zusammenfügen muss.

Gruß

- Ja, dass könnte die richtige Interpretation sein...Dann wäre Dynamic SQL hilfreich...nun kommt es natürlich auf das verwendete DBMS an..
 
JA genau.

result = select xyz from view;
select $result from table;

So was in der Art hab ich gesucht.
Eben nur direkt in einer View und nicht als Skript
 

Neue Beiträge

Zurück