Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Tabellenübergreifende Datenbankabfrage!?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von schreckhawk, 9 August 2012.

  1. schreckhawk

    schreckhawk Neuer Benutzer

    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
     
  2. ukulele

    ukulele Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden