![]() |
Datenbank: MDB • Zugriff über: ADO
OUTER JOIN liefert keine Ergebnisse
Hiho,
ich hab hier ein Problem mit einem Outer Join bei dem alle Sätze aus der Tabelle mwsteuer,wenn ergebnisse die Summe angezeigt werden soll. Allerdings werden nur die Sätze wenn Ergebnisse vorhanden sind angezeigt.
SQL-Code:
Beispiel:
SQL.Text:='SELECT B.ssatz,sum(IIF(not A.bericht,A.gpreis,0)) AS steurge '+
'FROM mwsteuer AS B '+ 'RIGHT OUTER JOIN best_archiv AS A '+ 'ON B.ssatz=A.steuer '+ 'WHERE A.zero=:TA2 '+ 'GROUP BY B.ssatz '+ 'ORDER BY B.ssatz'; so lautet das Ergebnis: 19 100,00 es soll aber: 0 0,00 7 0,00 19 100,00 Was mach ich falsch? |
Re: OUTER JOIN liefert keine Ergebnisse
Müsste es nicht ein LEFT OUTER JOIN sein?
|
Re: OUTER JOIN liefert keine Ergebnisse
Seltsamerweise bringt es das gleiche Ergebnis...
|
Re: OUTER JOIN liefert keine Ergebnisse
Access ist leider nicht mein Gebiet, aber schau doch mal
![]() |
Re: OUTER JOIN liefert keine Ergebnisse
Ich hab jetzt die Parametrierung nach oben gesetzt
und es funktioniert?! Warum???
SQL-Code:
SQL.Text:='SELECT B.ssatz,sum(IIF((not A.bericht) AND (not A.zero),A.gpreis,0)) AS steurge '+
'FROM mwsteuer AS B '+ 'LEFT OUTER JOIN best_archiv AS A '+ 'ON B.ssatz=A.steuer '+ 'GROUP BY B.ssatz '+ 'ORDER BY B.ssatz'; |
Re: OUTER JOIN liefert keine Ergebnisse
Hi,
kenn mich mit Excel auch nicht besonders auch, aber der SQL-Syntax liefert folgendes:
SQL-Code:
mit dieser Abfrage werden mit der where-Bedingung nur Datensätze in der
SQL.Text:='SELECT B.ssatz,sum(IIF(not A.bericht,A.gpreis,0)) AS steurge '+
'FROM mwsteuer AS B '+ 'RIGHT OUTER JOIN best_archiv AS A '+ 'ON B.ssatz=A.steuer '+ 'WHERE A.zero=:TA2 '+ 'GROUP BY B.ssatz '+ 'ORDER BY B.ssatz'; Ergebnismenge zugelassen, für die (a.zero=:TA2) gilt. Das ist aber immer nur dann der Fall, wenn Datensätze in der Tabelle A verhanden sind. Hier dagegen
SQL-Code:
wird die Bedingung für den Join selbst verwendet, und durch den left join
SQL.Text:='SELECT B.ssatz,sum(IIF(not A.bericht,A.gpreis,0)) AS steurge '+
'FROM mwsteuer AS B '+ 'LEFT JOIN best_archiv AS A '+ 'ON B.ssatz=A.steuer and A.zero=:TA2 '+ 'GROUP BY B.ssatz '+ 'ORDER BY B.ssatz'; eben alle Datensätze der "rechten" Tabelle zzgl. aller ggf. vorhandenen passenden Datensätze der "linken" Tabelle in die Ergebnismenge übernommen... |
Re: OUTER JOIN liefert keine Ergebnisse
Das leuchtet ein..
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz