Tabellenübergreifende Datenbankabfrage!?

schreckhawk

Neuer Benutzer
Beiträge
1
Hi Leute,
hab eine funktionsfähige Datenbank mit Homepage die seit ungefähr 1 Jahr läuft. Nun würde ich gerne ein paar Änderungen vornehmen die mich vor ein paar Probleme stellen.
Die Datenbank ist etwas größer als hier beschrieben, ich gebe euch allerdings nur die nötigen Informationen um den Überblick zu vereinfachen J …
Und zwar habe ich 3 Tabellen mit jeweils 2 Spalten:

employees-->emp_id --- emp_name
service_items-->item_id --- item_name
service_assignments-->emp_id --- item_id

Bei der Homepage habe ich unter der Navigation "Service Items" 2 Spalten mit item_name und item_id und den dazugehörigen Einträgen.
Nun kommen wir zu der eigentlichen Aufgabe:

Und zwar soll ich unter Navigation "Service Items" eine 3te Spalte hinzufügen(emp_name) und Namen der Mitarbeiter denen die items zugewiesen wurden darstellen.

Wäre echt super wenn mir einer die SELECT Abfrage an die Datenbank zusammenbasteln könnte bzw. erklären wie sowas funktioniert.. Die restliche Implementierung dürfte ich alleine hinkriegen mir geht es hier hauptsächlich um die SELECT ABFRAGE!!!

Danke schonmal im voraus
MFG
Earl
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
Deine Abfrage müsste bisher in etwa so aussehen:
Code:
SELECT    item_id,
        item_name
FROM    service_items

Da dort jetzt die Mitarbeiternamen eingefügt werden sollen musst du mehrere Tabellen kombinieren. In diesem Fall empfiehlt sich ein LEFT JOIN, da ich nicht weiss, ob zu jedem Item auch ein Mitarbeiter existiert. Es können auch mehrere Mitarbeiter existieren, dann wird ggf. das Item mehrfach aufgeführt (bei Bedarf kann man das auch anders lösen, ist aber schwieriger).
Code:
SELECT    service_items.item_id,
        service_items.item_name,
        employees.emp_name
FROM    service_items
LEFT JOIN service_assignments ON service_items.item_id = service_assignments.item_id
LEFT JOIN employees ON service_assigments.item_id = employees.emp_id

Das ist natürlich ausbaufähig.
 
Oben