3 Tabellen verknüpfen

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

  • 3 Tabellen verknüpfen

    Hallo,

    ich habe 3 Tabellen, Aufbau wie folgt:

    Tabelle "haendler": (Händler)

    haendler_id|haendler_name
    -------
    1;Fristo
    2;Getränkemarkt
    3;REWE
    4;Edeka
    5;Real
    ...

    Tabelle "produkte": (Produkte)

    produkt_id|produkt_name
    -------------
    1;Beck's Gold
    2;Fanta
    3;Coca Cola
    4;Pepsi
    5;Volvic
    6;Vittel
    ...

    Tabelle "sortiment": (Sortiment)

    haendler_id|produkt_id
    ----------------------
    1;1
    1;2
    1;3
    1;4
    1;5
    2;4
    3;4
    3;5
    3;6
    ...

    Nun möchte ich mit einer (!) Abfrage alle Händler mit den jeweils dort erhältlichen Produkten auflisten.

    Kann mir mal jemand grob (oder ganz) den Query dafür erklären?

    Thanks!

  • #2
    Hi,

    so grob: wähle benötigte felder aus haendler gejoint mit Sortiment gejoint mit produkten gruppiert nach haendlerid. Die on-Beziehungen sollten jawohl klar sein.

    LG

    Kommentar


    • #3
      PHP-Code:
      SELECT produkt_namehaendler_namehaendler_id
      FROM sortiment
      LEFT JOIN produkte USING
      (produkt_id)
      LEFT JOIN haendler USING(haendler_id)
      ORDER BY haendler_id

      // und dann Gruppenwechsel

      $hid false;

      while (
      $res mysql_fetch_assoc($result)) {
          if (
      $res['haendler_id'] != $hid) echo("Händler " $res['haendler_name']);
          echo(
      "Produkt " $res['produkt_name']);
          
      $hid $res['haendler_id'];

      Das gibt allerdings nur die Händler mit mindestens einem Produkt aus.
      ich glaube

      Kommentar


      • #4
        Hi,
        Das gibt allerdings nur die Händler mit mindestens einem Produkt aus.
        Wenn man haendler mit sortiment joined, dann mit produkte, müsste es passen. Aber vielleicht ist das ja gar nicht gewünscht. Dafür kann man da die kürzere USING-Syntax benutzen. Wenn ich mich nicht irre, müsste MySQL bei Deinem 2. JOIN meckern, dass es keine Spalte haendler_id in Produkte gibt.

        Ach ja, und
        [...] gruppiert nach haendlerid.
        war natürlich Blödsinn.

        LG

        Kommentar


        • #5
          Danke Leute, hab es angepasst und es funktioniert einwandfrei.

          Die Händler ohne Produkt müssen auch nicht zwingend aufgelistet werden - für's Admin eventuell aber das ist ne andere Geschichte.

          Kommentar

          Lädt...
          X