Ankündigung

Einklappen
Keine Ankündigung bisher.

Select lässt Records weg die in einer Spalte NULL enthalten

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Select lässt Records weg die in einer Spalte NULL enthalten

    Hallo Forum

    Setze folgenden SELECT auf meine DB ab:

    SELECT 411_list.person_id, 411_list.ean_code, join0.gen_name AS gender_id, join1.title_name AS title_id, 411_list.fname, 411_list.lname
    FROM 411_list
    LEFT JOIN 411_gen AS join0 ON 411_list.gender_id = join0.gen_id
    LEFT JOIN 411_title AS join1 ON 411_list.title_id = join1.title_id
    WHERE join0.lang_id = '1'
    AND join1.lang_id = '1'
    ORDER BY ean_code
    LIMIT 0, 10

    Das returniert 1 Record:

    person_id ean_code gender_id title_id fname lname
    1 6240200000019 Herr Prof. Hans Muster

    Nur liegen eigentlich weitere Records in der Tabelle, wenn ich im WHERE Statement "AND join1.lang_id = '1'" weglasse erhalte ich folgendes:
    1 6240200000019 Herr Prof. Hans Muster
    1 6240200000019 Herr Prof. Hans Muster
    2 6240200000026 Herr NULL asdfasdf asdf
    3 6240200000033 Herr NULL yxcv yxcv
    4 6240200000040 Herr NULL Max cbn
    5 6240200000057 Herr NULL vtrz etz
    6 6240200000064 Herr NULL nmvb vm
    7 6240200000071 Herr NULL asdfasdf j
    8 6240200000088 Herr NULL nmvb Muster
    9 9500200000097 Herr NULL Marco Hoselupf


    Ich weiss nicht wie ich meinen Select anders schreiben muss damit ich auch Records erhalte die als title_id NULL enthalten - wobei aber das "AND join1.lang_id = '1'" angewendet werden soll wenn title_id NICHT NULL ist, damit der Herr Prof. Hans Muster nur einmal im Resultat enthalten ist.

    Kann mir jemand helfen?

    Grüsse


  • #2
    Die zusätzlichen WHERE Prädikate müssen in den LEFT JOIN mit aufgenommen werden. Innerhalb dem "WHERE", funktioniert kein "OUTER JOIN".

    Also in etwa so..

    Code:
    SELECT 411_list.person_id, 
           411_list.ean_code, 
           join0.gen_name AS gender_id, 
           join1.title_name AS title_id, 
           411_list.fname, 
           411_list.lname
      FROM 411_list
      LEFT JOIN 411_gen AS join0
        ON 411_list.gender_id = join0.gen_id
       AND join0.lang_id = '1'
      LEFT JOIN 411_title AS join1
        ON 411_list.title_id = join1.title_id
       AND join1.lang_id = '1'
     ORDER BY ean_code
     LIMIT 0, 10
    Grüße
    Thomas

    Kommentar


    • #3
      Select lässt Records weg die in einer Spalte NULL enthalten - SELFPHP Forum

      Bitte beachten: Anmerkungen zu Crosspostings


      [MOD: Thread geschlossen]
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar

      Lädt...
      X