Ilja: Problem mit Left Join in Oracle

Beitrag lesen

yo,

select * from job j, jobkategorie jk where j.oid_job_kategorie = jk.oid(+) and jk.ch_language='de'

das kann auch nicht funkionieren und das liegt nicht an oracle. zum einen suchst du jobangebote ohne gruppen, sprich du hast meiner meinung nach den OUTER JOIN an der falschen tabelle gesetzt. das plus müsste auf die seite der job tabelle.

und dann wird auch klar, dass die gesuchten datensätze niemals einen inhalt der zweiten tabelle haben können. insofern kannst du dir das abfragen nach 'de' sparen.

Dieser Leftjoin funktioniert leider nicht es wird implizit ein natural join gemacht was offensichtlich an dem and und dem 2. statement liegt.

ein NATURAL JOIN ist ein join über ALLE spalten, die den exakt den gleichen spaltennamen haben. bist du dir sicher, dass du das damit meinst und nicht einen INNER JOIN ?

Hat jemand vielleicht eine Idee für die Lösung ?

select *
from job j, jobkategorie jk
where j.oid_job_kategorie(+) = jk.oid
and jk.ch_language IS NULL

das sollte dir alle jobangebote ausliefern, die keine gruppierung mehr haben. oder aber ich habe dein posting ganz falsch verstanden.

Ilja