AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL Abfrage mit Summe über 2 Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage mit Summe über 2 Tabellen

Ein Thema von HCB · begonnen am 26. Mär 2023 · letzter Beitrag vom 26. Mär 2023
Antwort Antwort
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#1

SQL Abfrage mit Summe über 2 Tabellen

  Alt 26. Mär 2023, 15:14
Datenbank: Access • Version: 2003 • Zugriff über: SQL / Delphi FireDac
Hallo, ich habe folgende SQL:

Select * from (SELECT ABFStatKundenNr, sum(ABFStatUmsatz) as total
from ABFStat
WHERE ABFStatDatum between #01/01/2022# and #31/12/2022# and ABFStatKundenNr
IN
(SELECT PersKtoNummer FROM sPersKto WHERE PersKtoSelMerkmal = '40000' )
group by ABFStatKundenNr) order by total desc;

funktioniert einwandfrei, der Kunde mit dem höchsten Umsatz wird mit der zugehörigen Kundennummer als erstes in der List angezeigt.

Nun möchte ich zu der Kundennummer auch den zugehörigen Namen anzeigen der in der Tabelle sPersKto als PersKtoName1 steht.
Folgende Änderung funktioniert leider nicht:
... IN
(SELECT PersKtoNummer, PersKtoName1 FROM sPersKto WHERE PersKtoSelMerkmal = '40000' )
group by ABFStatKundenNr) order by total desc;

Ich würde mich sehr freuen, wenn ich einen Tipp bekommen würde, damit ich das hinbekomme.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL Abfrage mit Summe über 2 Tabellen

  Alt 26. Mär 2023, 15:41
IN ist für eine Prüfung, nicht für die Anzeige ... drum kann es auch nur ein Feld mit einer Reihe eines anderen Feldes vergleichen.

Spalten für die anzeige also in die ersten beiden SELECTs, bzw. via SubSELECT oder JOIN dort anhängen.



Wozu das erste SELECT * FROM?
Doch nicht etwa nur wegen dem ORDER-BY?
order by sum(ABFStatUmsatz) desc; oder order by 2 desc; -- weil "total" die zweite Spalte ist
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: SQL Abfrage mit Summe über 2 Tabellen

  Alt 26. Mär 2023, 15:54
Probier bitte mal, ob Access mit sowas zurechtkommt:
SQL-Code:
select b.PersKtoName1, a.ABFStatKundenNr, a.Total from
(
  select ABFStatKundenNr, sum(ABFStatUmsatz) as total
  from ABFStat
  where ABFStatDatum between #01/01/2022# and #31/12/2022# and ABFStatKundenNr
  in
  (
    select PersKtoNummer from sPersKto where PersKtoSelMerkmal = '40000'
  )
  group by ABFStatKundenNr
) a,
sPersKto b
where a.ABFStatKundenNr = b.PersKtoNummer
order by total desc;
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#4

AW: SQL Abfrage mit Summe über 2 Tabellen

  Alt 26. Mär 2023, 16:09
@delphi.Narium

Du bist ein GENIE!
Jo, das wars. Dein SQL hat auf Anhieb funktioniert!!!!
Ich bin jetzt glücklich, danke dass du mir geholfen hast. Alleine hätte ich das NIE hingekriegt.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#5

AW: SQL Abfrage mit Summe über 2 Tabellen

  Alt 26. Mär 2023, 22:30
IHHHHHH, nicht so.

Access kann auch JOINs in Richtig.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 18:28 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