Datenmenge Filtern
-
Hallo zusammen!
Mein Problem: Ich möchte gerne eine belibige SQL-Anweisung Filtern können.
Leider bekomme ich umbenannte Spalten oder Decodes nicht gefiltert.Ich habe eine SQL-Anweisung und möchte wissen ob man das hinkriegt!?
select baum.anzahl as "Äpfel" from baum where Äpfel = 0
Der Hacken ist der, dass ich folgendes nicht verwenden kann:
select baum.anzahl as "Äpfel" from baum where baum.anzahl = 0
Besteht eine Möglichkeit zu erfahren, dass hinter dem Bezeichner "Äpfel"
sich die Spalte anzahl verbirgt? Die Änalyse der SQL-Anweisung würde ich
gerne vermeiden, denn es können ja verschachtelte selects vorliegen.Vielen Dank für jeden Hinweis!
coder24h
-
Dann verschachtele doch selber.
select * FROM ( select baum.anzahl as "Äpfel" from baum) v where "Äpfel" = 0
-
Liegt daran weil "Äpfel" falsch sein könnte.
Umlaute sollte man vermeiden.
Hier kommt es auf das RDBMS an.MSSQL z.B.
würde
WHERE [Äpfel]
funktionieren ohne es getestet zu haben.
-
coder24h schrieb:
...
select baum.anzahl as "Äpfel" from baum where Äpfel = 0
...
Was ist das denn für eine Datenbank? Normalerweise müsste das gehen (vom Umlaut mal abgesehen)
-
Hallo und Danke für die zahlreichen posts. Es handelt sich um die Oracle8-DB.
Es ist mir schon klar, dass man die Umlaute vermeiden muss, leider is es in meinem Fall nicht möglich.
Unix-Tom schrieb:
MSSQL z.B. würde
WHERE [Äpfel]
funktionieren ohne es getestet zu haben.
Ich meine das ist zwar nur ein Hoffnungschimmer, aber wenn das unter MySQL geht, dann wird sich auch bei oracle eine Lösung dafür finden
Ich bin mir ziemlich sicher folgendes ausprobiert zu haben:
select * FROM ( select baum.anzahl as "Äpfel" from baum) where "Äpfel" = 0
doch leider ohne Erfolg. Werde noch mal morgen einfache Hochkommas ausprobieren.
-
Ich schrieb: MSSQL
Das ist Microsoft SQL und nicht MySQL.Hab mal gesucht.
ORACLE sollte doppelte Hochkomas akzeptieren.
Kann es sein das dein RDBMS vom Zeichensatz es nicht kann.
-
Bei mir gehts, zumindest unter ORACLE 10 so:
select anzahl as äpfel from tabelle1 where anzahl = 1
Eventuell wird der Umlaut auch aus kompartiblitätsgründen von der Schnittstelle blockiert?! (ODBC,ADO?!)
(edit)
Firebird 2.0 per ADO via ODBC verweigert das selbe Statement mit Syntaxfehler. Ohne "ä" gehts auch dort.
-
Unix-Tom schrieb:
Hab mal gesucht.
ORACLE sollte doppelte Hochkomas akzeptieren.
Kann es sein das dein RDBMS vom Zeichensatz es nicht kann?Wenn ich die Hochkommas verwende bekomme ich eine Fehlermeldung "Ungültiger Spaltenname".
Ich verwende eine ODBC-Schnittstelle im Verbindung mit Borland Entwicklungsumgebung (Borland C++ Builder). Zu der Schnittstelle oder BDE habe ich keinen direkten Zugang daher denke ich dass meine Idee verworfen werden müsste.
Vielen Dank für die Unterstützung.