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.
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: