Markus K: Oracle Tabellen verknüpfen

Hallo!

Ich habe folgendes Problem:

Es existieren 2 Tabellen.

Tabelle 1 - JOB besteht aus den Feldern JOBID, JOBTITEL
Tablle 2  - JOBBEWERBUNG besteht aus den Feldern JOBID und BEWID
Diese Tabelle ordnet also JOBS zu Bewerbern zu.
Nun möchte ich folgende Auswertungen:
Alle Jobs auflisten und dort wo ein bestimmter Bewerber diesem JOb zugeordnert ist, soll in der dritten Spalten die Bewerber ID stehen.
Das Ergebnis soll also so aussehen. (Alle Jobs aufgelistet und dort wo
der Bewerber mit ID 1 sich beworben hat, soll das dementsprechend markiert sein.)

JOBID   TITEL   BEWID
1         T1      1
2         T2
3         T3      1
4         T4
5         T5

Ich habe es zwar schon mit UNION versucht, aber irgendwie komm ich nicht zum gewünschten Ergebnis.
Vielleicht kann mir jemand helfen.

bg, Markus

  1. Hi,

    wie wäre es mit einem simplen LEFT OUTER JOIN von JOB auf JOBBEWERBUNG anhand des Felds JOBID?

    Unter den Feature-Artikeln von SELFHTML gibt es auch einen zum Thema "JOINs". Bitte lies dort als nächstes nach.

    Grüsse
    Frank

  2. yo,

    Alle Jobs auflisten und dort wo ein bestimmter Bewerber diesem JOb zugeordnert ist, soll in der dritten Spalten die Bewerber ID stehen.

    dazu machst du einen ganz normalen join der beiden tabellen und benutzt in der ausgabe der spalten eine flusssteuerung wie zum beispiel case.

    SELECT j.Jobid, j.titel,
    CASE
        WHEN jb.Bewid = 1
        THEN jb.Bewid
        ELSE NULL AS Bewerber1
    FROM Job j
    INNER JOIN Jobbewerbung jb ON jb.Jobid = j.Jobid
    ;

  3. Ohne JOIN (bzw. anderweitiger Verzeigerung ;) geht da nichts, also mal hier
       http://www.oracle.com/pls/db102/homepage
    nachschauen.