Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] LEFT JOIN über mehr als 2 tabellen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] LEFT JOIN über mehr als 2 tabellen

    hallo leute...

    ich werde nochmal wahnsinnig ich verstehe das mit der join klausel überhaupt nicht

    also ich habe 3 tabellen


    tabelle 1 = prodkat

    id
    | kat | url_kat
    2 | Beeprodukts | beeprodukts
    3 | Sonnstiges | sonnstiges
    4 | Technikel | technikel

    tabelle 2 = artikel

    id
    | artikel | keywords | beschreibung | url_artikel | kat_id
    13 | test | Keywords | xxxxxxxxxxxxxx | test| 2
    14 | Artikel | Keywords| yyyyyyyyyyyy | artikel| 3
    15 | Artikel | Keywords| aaaaaaaaaaaa | artikel |4

    tabelle 3 = artikel_pic

    pic_id| artikel_id| pic alt
    13 | 1338214541-0-test.jpg | alt
    14 | 1340459368-0-artikel.jpg | alt


    ok kommen wir zu meinen problem
    wenn ich meine altmodische abfrage starte mit der WHERE clausel
    und mir artikel anzeigen lassen möchte incl. bilder so hatte ich das immer so geschrieben.

    PHP-Code:
      SELECT artikelkeywordsbeschreibungpic
      FROM prodkat
    artikelartikel_pic
      WHERE url_kat 
    'beeprodukts' 
      
    AND prodkat.id artikel.kat_id 
      
    AND artikel.id artikel_pic.artikel_id 
    ok das gibt mir
    einen artikel mit einen bild aus

    schreibe ich aber ....


    PHP-Code:
     SELECT artikelkeywordsbeschreibungpic
        FROM prodkat
    artikelartikel_pic
        WHERE url_kat 
    'technikel' 
        
    AND prodkat.id artikel.kat_id 
        
    AND artikel.id artikel_pic.artikel_id 
    dann kommt nichts ...was ja auch logisch ist

    mein ziel ist es aber das er den datensatz trotzdem anzeigen soll auch wenn es kein bild gibt !!
    und das soll ja mit JOIN funktionieren...aber ich sitze den ganzen nachmittag schon drann und ich bekomme es einfach nicht hin

    mein erster ansatz war dieser....hat aber nicht gefunkt heul...

    PHP-Code:
      SELECT *
      
    FROM 
      prodkat LEFT JOIN artikel ON prodkat
    .id artikel.kat_id,
      
    artikel_pic  LEFT JOIN artikel AS ARTI  ON artikel_pic.artikel_id ARTI.id
      WHERE prodkat
    .url_kat 'technikel' 
    Bitte helft mir ich dreh sonnst noch durch bitte keine links zu irgendwelchen dokus oder so...mit nur zwei tabellen kein problem aber mehr als 2 tabellen habe ich probleme

    vielen dank

  • #2
    Ungetestet:
    Code:
    SELECT
    	p.kat, a.artikel, a.keywords, ap.pic
    FROM
    	artikel a
    		LEFT JOIN artikel_pic ap ON ap.artikel_id = a.id
    		JOIN prodkat p ON p.id = a.kat_id
    [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
    [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

    Kommentar


    • #3
      wow vielen dank du hast mir den tag gerettet
      vielen vielen dank
      jetzt verstehe ich auch die join klausel

      Kommentar


      • #4
        [MOD: Thread verschoben]
        [URL]http://hallophp.de[/URL]

        Kommentar

        Lädt...
        X