Einzelnen Beitrag anzeigen

NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#6

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 10:59
Hi,

kenn mich mit Excel auch nicht besonders auch, aber der SQL-Syntax liefert folgendes:

SQL-Code:
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';
mit dieser Abfrage werden mit der where-Bedingung nur Datensätze in der
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:
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';
wird die Bedingung für den Join selbst verwendet, und durch den left join
eben alle Datensätze der "rechten" Tabelle zzgl. aller ggf. vorhandenen
passenden Datensätze der "linken" Tabelle in die Ergebnismenge übernommen...
Gruß
Norman
  Mit Zitat antworten Zitat