yallayalla Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Carnie Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 3. April 2006 Autor Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Carnie Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 Wo ist der Unterschied zwischen Tabelle 1 und der kompletten Tabelle 1 ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 3. April 2006 Autor Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Carnie Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 Ahso sorry.Jetzt versteh ich endlich was du möchtest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 ö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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 3. April 2006 Autor Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 3. April 2006 Autor Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 3. April 2006 Teilen Geschrieben 3. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.