![]() |
Datenbank: Paradox/Firebird • Zugriff über: TQuery, TIBQuery
Wie Umsatz pro ID und MasterID ermitten?
Hallo,
ich habe eine Tabelle wie unten dargestellt mit 3 Spalten ID, MasterID und Umsatz. Ich möchte nun die Summe des Umsatzes für jede ID haben. Wo jedoch eine MasterID vergeben ist, soll die MasterID verwendet werden, und nicht die ID in der Spalte ID. Wo die Master ID also vergeben ist, ist die Spalte ID irrelevant.
SQL-Code:
Das soll das Ergebnis sein. Die Werte in den Klammern dienen nur zum Verständnis. Die sollen natürlich nicht in der Tabelle sein:
ID MasterID Umsatz
1 null 10,20 1 null 10,30 2 null 5,70 2 null 1,30 5 3 1,40 6 3 2,40 7 4 7,99 8 2 5,00
SQL-Code:
ID Umsatz
1 20,50 (= 10,20 + 10,30) 2 12,00 (= 5,70 + 1,30 + 5,00) 3 3,80 (= 1,40 + 2,40) 4 7,99 (= 7,99) Wie sieht der SQL-Ausdruck dazu aus? Ist dazu überhaupt ein SQL-Ausdruck möglich? Wenn man die Spalte MasterID nicht hätte, würde man das ja so machen:
SQL-Code:
Wie die MasterID da nun aber untergebracht werden muss, weiß ich leider nicht. Danke!
select ID, sum(Umsatz) from Tabelle
group by ID Momentan wird Paradox verwendet. In einigen Woche soll aber auf Firebird umgestellt werden. Daher kann die Lösung für Paradox oder Firebird sein. |
Re: Wie Umsatz pro ID und MasterID ermitten?
Für FB ist das kein Problem, wenn man CASE oder IIF verwendet.
|
Re: Wie Umsatz pro ID und MasterID ermitten?
Hi,
das sieht dann so aus:
SQL-Code:
Cu, Frank
select
case when master_id is null then id else master_id end as ID , sum(umsatz) from tabelle group by case when master_id is null then id else master_id end |
Re: Wie Umsatz pro ID und MasterID ermitten?
Edit: OK, ich sehe dataspider hat knapp vor mir gepostet.
Zitat:
SQL-Code:
Hier kommt folgende Fehlermeldung:
select
CASE WHEN masterid IS NULL THEN ID ELSE masterid END as XID, sum(Umsatz) from ATable group by XID Zitat:
|
Re: Wie Umsatz pro ID und MasterID ermitten?
Antwort siehe Posting über deinem...
ab FB2 wird - glaube ich - die Verwendung von Aliasnamen bei group by unterstützt. Cu, Frank |
Re: Wie Umsatz pro ID und MasterID ermitten?
IIF wird erst ab FB2 unterstützt.
|
Re: Wie Umsatz pro ID und MasterID ermitten?
Hi dataspider,
danke für den Code. Doch da stimmt irgendwas nicht. Der Wert zur ID 2 ist zu hoch:
SQL-Code:
ID SUM
1 20,40 2 16,40 3 3,80 4 7,99 |
Re: Wie Umsatz pro ID und MasterID ermitten?
Liste der Anhänge anzeigen (Anzahl: 1)
... ich habe deine Zahlen genommen und erhalte 12,00 für ID 2.
|
Re: Wie Umsatz pro ID und MasterID ermitten?
OK, danke klappt nun. Ich hab den IB-Expert nochmal neu gestartet und nun stimmen die Zahlen. Wahr wohl ein vergessenes Commit oder ähnliches...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 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