AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zusammenfassende Abfrage

Ein Thema von TurboMagic · begonnen am 8. Mai 2024 · letzter Beitrag vom 9. Mai 2024
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#1

Zusammenfassende Abfrage

  Alt 8. Mai 2024, 23:17
Datenbank: Firebird • Version: 5.0 • Zugriff über: FireDAC
Hallo,

gegeben ist eine Tabelle mit verschiedenen Spalten,
u.a. KontoZweckA, BetragA, KontoZweckB, Betrag B.

Mittels Select sollen jetzt die Daten abgerufen werden und zwar gruppiert
nach Konto. In der Ergebnisliste soll es also nur eine Spalte Konto und
eine Betrag geben.

KontoZweckA eines Eintrags kann dieselbe Nummer wie KontoZweckB haben,
es gibt aber auch Fälle wo ein Datensatz in KontoZweckA dieselbe Nummer
drinn hat wie ein anderer Datensatz in KontoZweckB.

a) geht das überhaupt?

b) falls ja, wie?
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#2

AW: Zusammenfassende Abfrage

  Alt 9. Mai 2024, 00:15
Meinst du sowas?

Code:
select konto, sum(betr) as betrag from
(
select kontozweckA as konto, betragA as betr from tabelle
union all
select kontozweckB as konto, betragB as betr from tabelle
)
group by konto
order by 1
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zusammenfassende Abfrage

  Alt 9. Mai 2024, 07:57
Hallo,

danke für die Idee. Sowas in der Art könnte evtl. funktionieren.
Ich bin halt noch nicht so fit mit Subselects.

Muss ich also mal ausprobieren.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zusammenfassende Abfrage

  Alt 9. Mai 2024, 09:26
Meinst du sowas?

Code:
select konto, sum(betr) as betrag from
(
select kontozweckA as konto, betragA as betr from tabelle
union all
select kontozweckB as konto, betragB as betr from tabelle
)
group by konto
order by 1
Das klappt leider noch nicht
Zitat der DB:
Zitat:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Irgend eine Idee? Eine Erweiterung des group by um betrag funktioniert nicht, wäre ja aber auch quatsch.
Die beiden Subselects für sich alleine liefern Daten.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zusammenfassende Abfrage

  Alt 9. Mai 2024, 09:45
Das war offenbar noch nicht vollständig. Gibt man dem Subselect einen Namen sollte es funktionieren:
SQL-Code:
select T.konto, sum(T.betr) as betrag from
(
select kontozweckA as konto, betragA as betr from tabelle
union all
select kontozweckB as konto, betragB as betr from tabelle
) T
group by T.konto
order by T.konto
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zusammenfassende Abfrage

  Alt 9. Mai 2024, 09:55
Danke!
Das Grundprinzip funktioniert damit schon mal!
Grüße
TurboMagic
  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 00:07 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