Veröffentlicht 3. April 200619 j 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
3. April 200619 j Es wird erst der Subselect ausgeführt.Also SELECT NAME FROM tabelle WHERE ID=1 dieser Teil.Anschliessend wird von dieser Menge SELECT * genommen.Dene abfrage ist also das gleiche wie nur der zweite SELECT Teil.
3. April 200619 j 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
3. April 200619 j 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
3. April 200619 j öhm, ich glaube du hast da was falsch verstanden. Tabellen haben keine IDs sondern Namen versuch mal lieber : select * from (SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME IS 'Wasweisich'); select * from tab; geht auch aber hier werden auch VIEWS, SYNONYME angezeigt
3. April 200619 j 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
3. April 200619 j 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
3. April 200619 j 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
3. April 200619 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.