zerberos Geschrieben 13. Mai 2009 Teilen Geschrieben 13. Mai 2009 Hallo, ich habe eine Abfrage die so aussieht: SELECT DISTINCT SPALTE1 "WERT1",SPALTE2 "WERT2",SPALTE3 "WERT3" FROM (SELECT ROWNUM,SPALTE1,SPALTE2,SPALTE3 FROM SYS_US.TABLEONE ORDER BY ROWNUM) Bekomme dort den ORACLE Fehler: ORA-00923: Schlüsselwort FROM nicht an erwarteter Stelle gefunden Was mache ich falsch? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
michaelmeier Geschrieben 14. Mai 2009 Teilen Geschrieben 14. Mai 2009 Also prinzipiell heißt es ja select spalte from tabelle [where bedingung] in deinem fall heißt es aber select spalte from (tabelle 1, tabelle 2, ...) mE kann das so nicht funktionieren. besser wäre: select spalte1 as wert1, spalte 2 as wert2, ... from tabelle1 bzw. wenn das über mehrere tabellen geht, dann mittels join. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jeglalf Geschrieben 16. Mai 2009 Teilen Geschrieben 16. Mai 2009 Hi, bin mir nicht ganz sicher, aber soweit ich weiß funktioniert distinct bei Oracle generell nicht über mehrere Spalten, lediglich Einzelspalten oder alle mit *. Teste mal ohne distinct das ganze, denn die Fehlermeldung besagt meiner meinung nach, dass die Syntax-Prüfung das From nach der Selektion erwartet. wenn es dann geht, bau Dir ein subselect und wende das select distinct auf das subselect an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 (bearbeitet) Hi, bin mir nicht ganz sicher, aber soweit ich weiß funktioniert distinct bei Oracle generell nicht über mehrere Spalten, lediglich Einzelspalten oder alle mit *. Teste mal ohne distinct das ganze, denn die Fehlermeldung besagt meiner meinung nach, dass die Syntax-Prüfung das From nach der Selektion erwartet. wenn es dann geht, bau Dir ein subselect und wende das select distinct auf das subselect an. Nein, sein SQL ist syntaktisch richtig (ob es auch fachlich stimmt, kann ich nicht sagen) : SELECT DISTINCT adress_id "WERT1", event_id "WERT2" FROM ( SELECT ROWNUM, adress_id, event_id FROM app_adress ORDER BY ROWNUM); Row # WERT1 WERT2 ----- ----- ------- 1 88 6053286 2 89 6053286 3 90 6053286 4 91 6053286 - Der SQL Fehler kann nicht von diesem SQL stammen, es muss vorher oder nachher noch etwas passieren (Vorausgesetzt, es existieren die Tabelle und Attribute so wie in seinem Beispiel. @zerberus : Führe doch bitte mal nur das Subselect alleine aus und schaue, ob es funktioniert gruss Bearbeitet 20. Mai 2009 von dbwizard Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jeglalf Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 Jup, hast recht. Hab da glaub was durcheinander geworfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 Nein, sein SQL ist syntaktisch richtig (ob es auch fachlich stimmt, kann ich nicht sagen) : Ja vor allem das ORDER BY ROWNUM hört sich etwas seltsam an. Ich glaube hier wird von falschen Voraussetzungen ausgegangen. Dim 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.