Verknüpfung von Tabellen - Keine Anzeige

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

  • Verknüpfung von Tabellen - Keine Anzeige

    Hi,

    ich hoffe mir kann jemand helfen.
    Bei meiner Verknüpfung handelt es sich um drei Tabellen. Die Abfrage funktioniert auch, aber nur wenn überall Inhalt sich in den Spalten befindet. Sobald z.B. in der Tabelle groesse sich kein Inhalt bzw. die farb_id nicht vorhanden ist wird nichts mehr angezeigt. Wie muss ich meine Abfrage umstellen, dass ich auch Daten erhalte wenn in der Tabelle groesse oder farbe kein Inhalt sich befindet.

    $sql = "SELECT groesse.mussanzahl AS mussanzahl, groesse.anzahl AS anzahl, groesse.name AS gname, farbe.farbe AS farbe, farbe.bild AS grbild, artikel.bild AS klbild, artikel.id AS id FROM groesse LEFT JOIN farbe ON groesse.farbe_id = farbe.id LEFT JOIN artikel ON farbe.artikel_id = artikel.id WHERE artikel.id = '$sql_id' ";

    Gruss internetlucky

  • #2
    Irgendwo müssen sich ja Daten befinden ... ich vermute mal, in der Tabelle 'artikel'. Ergo stell deine Query so um, dass 'artikel' die Haupttabelle ist:
    SELECT ... FROM artikel
    LEFT JOIN farbe ON farbe.artikel_id = artikel.id
    LEFT JOIN groesse ON groesse.farbe_id = farbe.id
    WHERE artikel.id = '$sql_id'

    Die field list kannst Du lassen wie sie ist.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Super,

      funktioniert. Danke.
      Aber was ist mit der Anweisung RIGHT JOIN. Diese Verknüpfung wird zwar kaum bzw nicht benutzt aber funktioniert auch.

      Gruss internetlucky

      Kommentar


      • #4
        RIGHT JOIN works analogously to LEFT JOIN. To keep code portable across databases, it's recommended to use LEFT JOIN instead of RIGHT JOIN.
        Quelle: mysql.com

        Kommentar

        Lädt...
        X