Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi zwei tabellen addiern (https://www.delphipraxis.net/19337-zwei-tabellen-addiern.html)

Nightfly 1. Apr 2004 12:03


zwei tabellen addiern
 
hi

ich habe zwei identische tabellen, mit den feldern T_id, jan..dez. Jetzt möchte ich aber die Tabelle als eine darstellen. Also wenn in beiden Tabellen T_id gleich ist, wird halt in den feldern jan bis dez der resultierenden die summe der quelltabellen dargestellt.

Ist das mit SQL auf einem Firebird server zu lösen?


beisp:

Tablle11

t_id jan feb
10 10 10
11 10 10
12 10 10

Tabelle2

t_id jan feb
10 10 10
11 10 10
14 10 10

Result

t_id jan feb
10 20 20
11 20 20
12 10 10
14 10 10

-tobi- 1. Apr 2004 12:54

Re: zwei tabellen addiern
 
Hallo,

ich habe es gerade mit Access probiert:

SQL-Code:
SELECT a.nummer, (a.jan + b.jan) as jan, (a.feb + b.feb) as feb, (a.märz + b.märz) as märz
FROM TabA a inner join TabB b on a.nummer = b.nummer
union
SELECT a.nummer, a.jan, a.feb, a.märz
FROM TabA a left join TabB b on a.nummer = b.nummer where b.nummer is null
union
SELECT b.nummer, b.jan, b.feb, b.märz
FROM TabA a right join TabB b on a.nummer = b.nummer where a.nummer is null;
TabA
nr jan feb märz
10 10 10 10
11 10 10 10
12 10 10 10

TabB
nr jan feb märz
10 10 10 10
11 10 10 10
12 10 10 10

Ergebnis
nr jan feb märz
10 20 20 20
11 20 20 20
12 10 10 10
14 10 10 10

Ich hoffe es hilft!

Tobias

-tobi- 1. Apr 2004 12:56

Re: zwei tabellen addiern
 
Habe leider einen Fehler.

es muß bei TabB:
10 10 10 10
11 10 10 10
14 10 10 10

Nightfly 1. Apr 2004 13:12

Re: zwei tabellen addiern
 
danke,hilft erstmal...

..aber da ich immer was zu nörgeln hab: geht das nich auch irgendwie mit union (wie bei dir) und group by?

-tobi- 1. Apr 2004 13:22

Re: zwei tabellen addiern
 
Wie meinst du das mit dem Group by? :gruebel:

Gruß Tobias

Robert_G 1. Apr 2004 13:41

Re: zwei tabellen addiern
 
Is seine nörgelnde Hoheit damit zufrieden? :mrgreen:

SQL-Code:
SELECT T_ID, Sum(Jan), Sum(Feb), Sum(Mar)
FROM  (SELECT T_ID, Jan, Feb, Mar
        FROM  TabelleA
        UNION
        SELECT T_ID, Jan, Feb, Mar
        FROM  TabelleB
        UNION
        SELECT T_ID, Jan, Feb, Mar
        FROM  TabelleC)
GROUP By T_ID
Es wird pro T_ID eine Summe der Felder gemacht.

Nightfly 1. Apr 2004 13:57

Re: zwei tabellen addiern
 
yepp, werten dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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