Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Left Join in Oracle

Mitglied: PizzaHouse

PizzaHouse (Level 1) - Jetzt verbinden

24.09.2007, aktualisiert 26.09.2007, 26965 Aufrufe, 4 Kommentare

SQL Syntax in Oracle

I. Die folgende Abfrage:

SELECT * FROM tabelle1 t1 LEFT JOIN (tabelle2 t2, tabelle t3) ON (t2.spalte2=t1.spalte2 AND t2.spalte3=t3.spalte3) WHERE t1.spalte1='wert1'

II. ist eine theoretische Erweiterung von:

SELECT * FROM tabelle1 t1 LEFT JOIN tabelle2 t2 ON (t2.spalte2=t1.spalte2) WHERE t1.spalte1='wert1'

In Ausgabe von II. stehen in t2.spalte3 z.b. Usernamen, die in t3.spalte3 zu Realnamen aufgelöst werden sollen.


-->Oracle 9i - Fehler:
ORA-00907: missing right parenthesis


Als Oracle-Rookie seh´ ich da leider net durch, wo der Fehler ist, hat jmd einen Tipp?

Gruß,
PH.
Mitglied: Biber
24.09.2007 um 15:30 Uhr
Moin PizzaHouse,

01.
SELECT * FROM tabelle1 t1  
02.
 LEFT JOIN (tabelle2 t2 left join tabelle3 t3 ON t2.spalte3=t3.spalte3)  
03.
           on t2.spalte2=t1.spalte2  
04.
WHERE t1.spalte1='wert1'
Gruß
Biber
Bitte warten ..
Mitglied: PizzaHouse
25.09.2007 um 11:53 Uhr
hi biber,

super, vielen dank!

hab mich leider vertan, da fehlt noch eine Tabelle, wobei ich leider wieder über die Verschachtelung gestolpert bin.

SELECT * FROM tabelle1 t1
LEFT JOIN (tabelle t2 LEFT JOIN (tabelle3 t3 LEFT JOIN tabelle4 t4 ON t3.spalte3=t4.spalte3))
ON t2.spalte2=t1.spalte2
WHERE t1.spalte1='wert1'

ORA-00905: missing keyword
Bitte warten ..
Mitglied: Biber
25.09.2007 um 14:31 Uhr
Moin PizzaHouse,

rein biooptisch gescannt sieht es von hier aus danach aus, dass tabelle t2 an einem LEFT JOIN beteiligt sein soll, ohne dass ein t2-Feld daran Anteil hat.
Es gibt keine logische Verbindung zwischen (Tabelle t1-joinedWith-t2) zu (t3 geJoint mit t4).

Schreib es um, dann siehst du es.
01.
Select t1.* from tabelle1 t1, tabelle2 t2, tabelle3 t3,tabelle4 t4 
02.
Where t1.spalte2 = t2.Spalte2 
03.
AND   t3.spalte3 = t4.spalte3 
04.
AND t1.spalte1='wert';
[das würde auch wirklich einem "INNER JOIN" entsprechen.]

Anders ausgedrückt: es fehlt eine komplette Zeile "...ON t2.feldx=t3.feldX"
01.
SELECT * FROM tabelle1 t1  
02.
LEFT JOIN (tabelle t2 LEFT JOIN (tabelle3 t3 LEFT JOIN tabelle4 t4 ON t3.spalte3=t4.spalte3)) 
03.
ON t2.spalteX=t3.spalteX <---------------------die fehlt 
04.
ON t2.spalte2=t1.spalte2  
05.
WHERE t1.spalte1='wert1'
[hier müsste es aber "INNER JOIN" heißen, wenn "Inner Joins" gewollt sind
Aber Überschrift und Inhalt des Postings liefen halt von Anfang an auseinander.]

Grüße
Biber
Bitte warten ..
Mitglied: PizzaHouse
26.09.2007 um 10:21 Uhr
klappt alles jetzt wunderbar, nochmal vielen dank!

seltsamer weise wollte die oracle abschließend die klammern nicht akzeptieren, ganz ohne hingegen ging´s. Oo
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL LEFT JOIN in Spalten
gelöst Frage von StfnCstrDatenbanken5 Kommentare

Hallo, ich sehe mal wieder den Wald vor lauter Bäumen nicht. Ich habe 2 Tabellen Tabelle 1: PK, Vorname, ...

Datenbanken
SQL Problem mit Left Join 2er Tabellen
Frage von Marcel1989Datenbanken7 Kommentare

Hi, Ich hab das Problem wenn ich eine Tabelle (name: aufbereitet) mit der Tabelle enddaten zusammenfüge passt noch alles. ...

Datenbanken
MySQL - Join
Frage von ThoomaasDatenbanken4 Kommentare

Hallo alle zusammen! Ich habe zwei Tabellen in meiner Datenbank. Die eine beinhaltet Teams und einen Code zum Team ...

Datenbanken
SQL - JOIN zeigt mehrfaches an
Frage von MiStDatenbanken9 Kommentare

Guten Morgen, ich habe mich frisch mit dem Thema SQL "angefreundet". Jetzt habe ich aber irgendwie ein Problem. Und ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung35 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 TagenSpeicherkarten5 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 5 TagenHardware4 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung27 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Switche und Hubs
POE-Switche
gelöst Frage von MiStSwitche und Hubs13 Kommentare

Guten Morgen, ich überlege ob ich in unserem Netzwerk die aktuellen Switche (D-LINK DGS-1210-28) durch PoE-Switche ersetzen soll. Der ...

Windows Server
DNS - Bedingte Weiterleitung
gelöst Frage von m8ichaelWindows Server11 Kommentare

Guten Tag zusammen, ich stehe gerade bzgl. einer bedingten DNS-Weiterleitung etwas auf dem Schlauch: Ich möchte, dass für bestimmte ...