tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
429
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    comix2000 comix2000 ist offline Grünschnabel
    Registriert seit
    Jul 2005
    Beiträge
    3
    Ich bin am verzweifeln,

    in meiner Ausgabe, zu der ich auch den Code poste, möchte ich mir verschiedene vorgangspositionen anzeigen lassen. Über den Left Join hole ich mir weitere Informationen aus anderen Tabellen.

    Ohne left Join verbindung mit vorgangpos_datev werden in diesem Beispiel 5 Datensätze angezeigt.
    Mit vorgangpos_datev sind es nur 4 Datensätze. Es fehlt der Datensatz der keinen Inhalt in der Tabelle vorgangpos_datev findet. Warum wird mir der Datensatz nicht trotzdem angezeigt, mit dem Wert "NULL"?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     
    SELECT * FROM vorgangpos vp 
    LEFT JOIN vorgangpos_datev vp2, tree_inhalte t_inh, vorgaenge vg 
    ON vp2.inhalt_id = vp.inhalt_id 
        AND  vg.vorgang_id=vp.vorgang_id 
        AND vp.inhalt_id=t_inh.inhalt_id 
    WHERE vg.zahlart_id <> 10 AND t_inh.tree_id=31 
        AND vg.datum >='2005-07-27 00:00:00' 
        And vg.datum <= '2005-07-27 23:59:59' 
        AND vg.zahlart_id <> 10
    GROUP BY date(vg.datum), t_inh.inhalt_id, vg.vorgangart_id
     

  2. #2
    Frankdfe Frankdfe ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Beiträge
    151
    Hallo!

    Wenn Du bei Joins Datensätze, die nicht vorhanden sind als "NULL-Datensätze" erhalten möchtest, dann musst du einen OUTER JOIN durchführen. Versuch das doch mal.
     
    Der Glückliche phantasiert nie. (Sigmund Freud)
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
    Daraus folgt: Die Genie's sind nicht glücklich.

  3. #3
    comix2000 comix2000 ist offline Grünschnabel
    Registriert seit
    Jul 2005
    Beiträge
    3
    So?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    SELECT * FROM vorgangpos vp 
    LEFT [B]OUTER JOIN[/B] vorgangpos_datev vp2, tree_inhalte t_inh, vorgaenge vg 
    ON vp2.inhalt_id = vp.inhalt_id 
        AND  vg.vorgang_id=vp.vorgang_id 
        AND vp.inhalt_id=t_inh.inhalt_id 
    WHERE vg.zahlart_id <> 10 AND t_inh.tree_id=31 
        AND vg.datum >='2005-07-27 00:00:00' 
        And vg.datum <= '2005-07-27 23:59:59' 
        AND vg.zahlart_id <> 10
    GROUP BY date(vg.datum), t_inh.inhalt_id, vg.vorgangart_id

    Da erhalte ich immernoch 4 Zeilen
    P.S. MySQL
     

  4. #4
    comix2000 comix2000 ist offline Grünschnabel
    Registriert seit
    Jul 2005
    Beiträge
    3
    Ich habs:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    SELECT * FROM vorgangpos vp 
    LEFT JOIN tree_inhalte t_inh, vorgaenge vg 
        ON vg.vorgang_id=vp.vorgang_id 
        AND vp.inhalt_id=t_inh.inhalt_id 
     
    LEFT OUTER JOIN vorgangpos_datev vp2 
    ON vp2.inhalt_id = vp.inhalt_id 
     
    WHERE vg.zahlart_id <> 10 AND t_inh.tree_id=31 
        AND vg.datum >='2005-07-27 00:00:00' 
        And vg.datum <= '2005-07-27 23:59:59' 
        AND vg.zahlart_id <> 10
    GROUP BY date(vg.datum), t_inh.inhalt_id, vg.vorgangart_id

    Danke für den "Outer Join Tip"
     

Ähnliche Themen

  1. LEFT JOIN - Problem
    Von Sasser im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 01.03.09, 21:44
  2. Problem bei Left Join
    Von Geordi im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 31.12.08, 00:09
  3. Left Join Problem
    Von aKraus im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 29.01.08, 07:27
  4. SQL-Problem mit LEFT JOIN und GROUP BY
    Von Bogat im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 27.01.07, 20:51
  5. LEFT JOIN ein ORDER BY Problem
    Von twisted im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 22.05.04, 18:45