From Unterabfrage

PumpEE

Neuer Benutzer
Beiträge
2
Hallo,

hier kurz mein Anliegen:

Ich möchte aus meine Datenbank die Tabellen herausfiltern, die Spalte A und Spalte B haben. Das habe ich bisher so gemacht und das hat soweit funktioniert:

select table_name
from dba_tab_columns
where COLUMN_NAME IN ('Spalte A', 'Spalte B')
group by table_name
HAVING count (*)= 2;

Nun möchte ich eine weitere abfrage auf die erhaltene Auswertung machen, die mir nur die Tabellen anzeigt die aus 4 Buchstaben bestehen. Das wollte ich mit einer Unterabfrage machen und zwar so:

select table_name
from
(select table_name
from dba_tab_columns
where COLUMN_NAME IN ('Spalte A', 'Spalte B')
group by table_name
HAVING count (*) = 2) AS myAlias
where length(table_name) <= 3 ;


Allerdings bekomme ich hier folgenden Fehler:

ORA-00933: SQL-Befehl wurde nicht korrekt beendet
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Fehler in Zeile: 17 Spalte: 5

Kann mir hier jemand weiter helfen? Danke.
 
Zuletzt bearbeitet:
Werbung:
Ok die Lösung ist, das AS für Alias weglassen.

select table_name
from (select table_name
from dba_tab_columns
where COLUMN_NAME IN ('Spalte A', 'Spalte B')
group by table_name
HAVING count (*) = 2) myAlias
where length(table_name) <= 3 ;
 
Zurück
Oben