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]
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar

      Lädt...
      X