AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi OUTER JOIN liefert keine Ergebnisse
Thema durchsuchen
Ansicht
Themen-Optionen

OUTER JOIN liefert keine Ergebnisse

Ein Thema von Privateer3000 · begonnen am 6. Aug 2008 · letzter Beitrag vom 6. Aug 2008
Antwort Antwort
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 10:43
Datenbank: MDB • Zugriff über: ADO
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:
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';
Beispiel:
so lautet das Ergebnis:
19 100,00

es soll aber:
0 0,00
7 0,00
19 100,00

Was mach ich falsch?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 10:48
Müsste es nicht ein LEFT OUTER JOIN sein?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 11:14
Seltsamerweise bringt es das gleiche Ergebnis...
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 11:20
Access ist leider nicht mein Gebiet, aber schau doch mal hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 11:22
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';
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
NormanNG

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

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 11: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
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: OUTER JOIN liefert keine Ergebnisse

  Alt 6. Aug 2008, 13:31
Das leuchtet ein..

Danke!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz