ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
429
429
EMPFEHLEN
-
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
-
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.
-
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
-
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
-
LEFT JOIN - Problem
Von Sasser im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 01.03.09, 21:44 -
Problem bei Left Join
Von Geordi im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 31.12.08, 00:09 -
Left Join Problem
Von aKraus im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 29.01.08, 07:27 -
SQL-Problem mit LEFT JOIN und GROUP BY
Von Bogat im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 27.01.07, 20:51 -
LEFT JOIN ein ORDER BY Problem
Von twisted im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 22.05.04, 18:45





Zitieren
Login





