Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unterabfrage FROM nicht an erwarteter Stelle

Empfohlene Antworten

Veröffentlicht

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?

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.

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.

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 von dbwizard

Jup, hast recht. Hab da glaub was durcheinander geworfen.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.