Abfrage über 2 Tabellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfrage über 2 Tabellen

    Hallo zusammen

    Irgendwie seh ich bei folgender Abfrage nicht mehr so ganz durch. Es geht um eine Auslesung von versch. Abteilungen einer Firma.

    Dazu hab' ich eine Tabelle 'abteilungen', in denen alle Abteilungen erfasst sind. Genauso eine Tabelle 'personen', in denen alle Mitarbeiter erfasst sind.

    Frage 1: Ist dies so schon mal sinnvoll oder gibt's n' besseren DB-Aufbau?


    Tabelle abteilungen
    id | abteilungsname | stellenleiter_id | stellenleiter_stv_id

    Tabelle personen
    id | vorname | nachname

    Nun soll auf der Seite der Abteilung XY [abteilungen.abteilungsname] der Stellenleiter mittels Verbindung von abteilungen.stellenleiter_id und personen.id der Name angezeigt werden.

    Mein Code sieht mittlerweile so aus:
    PHP-Code:
    mysql_query("SELECT 

    FROM personen a 
    INNER JOIN abteilungen b 
    ON a.id = b.stellenleiter_id 
    WHERE b.abteilungsname ='Test-Abteilung'"
    ) or die (mysql_error()); 
    Die Seite wird leer ausgegeben und ebenso bringt mysql_error() keinen Fehler. Ist diese Abfrage überhaupt richtig? Ist nämlich die erste Abfrage, in der ich mit Join arbeite....

    Besten Dank für die Hilfe
    Der Programmierer ist der Vormund des Anwenders.

  • #2
    Wenn die id des stellenleiters in abteilungen eingetragen ist, solltest du so Abfragen:

    Code:
    select * from personen a, abteilungen b
    where b.stellenleiter_id = a.id
    and b.abteilungsname ='Test-Abteilung'
    Wenn du auch "leere" (bzw. fehlende) Einträge finden willst, wäre es ein LEFT JOIN:

    Code:
    SELECT * 
    FROM personen a 
    LEFT JOIN abteilungen b 
    ON a.id = b.stellenleiter_id 
    WHERE b.abteilungsname ='Test-Abteilung'
    Siehe auch:
    http://www.heddesheimer.de/coaching/left_join.html

    Abgesehen davon sollte man "SELECT *" möglichst nicht verwenden, sondern immer eine Liste der gewünschten Spalten angeben.

    Gruß Marian
    Online-Kurse die jeder versteht: HTML, PHP, MySQL, Word, Excel
    http://www.lernpilot.de/wbt/

    Kommentar


    • #3
      besten dank für deine hilfe. geht ja doch ohne join ;-)
      Der Programmierer ist der Vormund des Anwenders.

      Kommentar

      Lädt...
      X