Abfrage aus 2 Tabellen (auch die Nullwerte)

bombbass

Grünschnabel
morgen,

habe zwei tabellen:
1.Tab:
Mitarbeiter:
mit_id | name | alter
----------------------------------------
1 | hans | 30
2 | wolf | 35
3 | peter | 22


2.Tab:
Buchung:
b_id | mit_id | std
----------------------------------------
1 | 1 | 8
2 | 3 | 11


nun möchte ich alle Datensätze der 1.Tab. "Mitarbeiter" haben + die dazugehörige Info aus der 2.Tab. "Buchung" haben...
Achtung! falls es für einen Mitarbeiter keine Buchung existiert, möchte ich, dass die Info mit NULLEN gefüllt wird, sollte ca. so aussehen:

Ergebnis:
mit_id | name | alter | b_id | mit_id | std
----------------------------------------
1 | hans | 30 | 1 | 1 | 8
2 | wolf | 35 | NULL | NULL | NULL
3 | peter | 22 | 2 | 3 | 11

leider erhalte ich bei meiner Abfrage nur die 2 Datensätze mit der mit_id=1 und mit_id=3

Select:
SQL:
SELECT * 
FROM Mitarbeiter
LEFT JOIN Buchung ON Mitarbeiter.mit_id = Buchung.mit_id

kann mir da jemand bitte helfen?

danke
und
vg
bombbass
 
Zuletzt bearbeitet von einem Moderator:
Hi bombas,

du nutzt die falsche Seite. Entweder tauschst du die Reinfolge der Tabellen in der FROM Klausel oder benutzt einfach ein RIGHT Join.

Du hast zwei Tabellen. Es ergeben sich mehre Mengen:

Menge der gemeinsamen Werte aus Tab 1 und 2 (INNER JOIN, meist mit "=" in der where Klausel)
Menge aus Tabelle A, welche NICHT mit B in Beziehung steht.(RIGHT JOIN)
Menge aus Tabelle B, welche NICHT mit A in Beziehung steht (LEFT JOIN)


Hoffe, dass die Erklärung geholfen hat. Sonst frag ruhig nochmal.


Chris
 

Neue Beiträge

Zurück