Oracle Tabellen verknüpfen
Markus K
- datenbank
0 Frank (no reg)0 Ilja0 King^Lully
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
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
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
;
Ohne JOIN (bzw. anderweitiger Verzeigerung ;) geht da nichts, also mal hier
http://www.oracle.com/pls/db102/homepage
nachschauen.