Zum Inhalt springen

ORACLE: SELECT zickt


yallayalla

Empfohlene Beiträge

Hallo!

Mein Select zickt:

SELECT * FROM (SELECT NAME FROM tabelle WHERE ID=1);

Liefert mir aber nur den eintrag mit der ID 1 aus der Tabelle 'tabelle'.

Testtabelle1

Sollte nicht der Select * über das Ergbnis des zweiten Selects die komplette Tabelle liefern?

Oder wird das nicht so ausgeführt? Sollte doch das gleiche machen wie:

SELECT * FROM Testtabelle1;

oder?

mfg

yallayalla

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

SELECT * FROM (SELECT NAME FROM tabelle WHERE ID=1);

Also ich will das eigentlich so:

Der Unterselect:

SELECT NAME FROM tabelle WHERE ID=1

Liefert ne Tabelle1

Und dann soll Quasi

SELECT * from Tabelle1

--> Liefert die Komplette Tabelle1.

gemacht werden. Oder ist das nicht machbar, das das Ergebnis des Unterselects im übergeordneten Select benutzt wird?

mfg

yallayalla

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

SELECT * FROM (SELECT NAME FROM tabelle WHERE ID=1);

Unterselect:

SELECT NAME FROM tabelle WHERE ID=1

Liefert Tabelle1 (also nur den Namen der Tabelle) aus der Liste der Tabellen (und zwar die mit ID=1)

Und dann soll Quasi

SELECT * from Tabelle1

--> Liefert die Komplette Tabelle1 (also alle Zeilen und Spalten).

Das ist der Unterschied! Danke schonmal für die Hilfe!

Gruss

yallayalla

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Meine Tabelle, die die Namen von Tabellen vorhaelt, hat ID's:

Tabelle:

ID Name

1 TAB1

2 TAB2

3 ....

SELECT NAME FROM tabelle WHERE ID=1

sollte dann TAB1 liefern.

Und dann soll quasi

SELECT * from TAB1

ausgeführt werden

Und ich brauche das so verschachtelt, weil ich in einer Schleife die ID's hochzaehlen muss/will/darf.

mfg

yallayalla

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Meine Tabelle, die die Namen von Tabellen vorhaelt, hat ID's:

Tabelle:

ID Name

1 TAB1

2 TAB2

3 ....

SELECT NAME FROM tabelle WHERE ID=1

sollte dann TAB1 liefern.

Und dann soll quasi

SELECT * from TAB1

ausgeführt werden

Und ich brauche das so verschachtelt, weil ich in einer Schleife die ID's hochzaehlen muss/will/darf.

mfg

yallayalla

select count(*) from tab; machts auch ohne hickmack

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Wir reden aneinander vorbei...glaube ich!

Loop

SELECT * FROM (SELECT NAME FROM tabelle WHERE ID=v_id);

v_id:=v_id+1

end loop

Ich will nacheinander jede Tabelle als ganzes selektieren. Es geht nicht ums zaehlen!

Jede Tabelle soll nacheinander angezeigt werden.

Gruss

yallayalla

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich denke, du musst - so wie ich dich verstanden habe - dynamischen (pl-)sql code bauen:

loop

SELECT meinTabellenName INTO meineTabellenID FROM tabelle WHERE ID=v_id);

v_id:=v_id+1

execute immediate 'Select * from deineTabelle' || meineTabellenID;

end loop

die ausgabe der aneienandergereihten "select *" kannst du ja dann z.b. in eine datei spoolen.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...