AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SUM Werte im Union addieren

SUM Werte im Union addieren

Ein Thema von Andidreas · begonnen am 25. Apr 2012 · letzter Beitrag vom 25. Apr 2012
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.089 Beiträge
 
Delphi XE Professional
 
#1

SUM Werte im Union addieren

  Alt 25. Apr 2012, 13:49
Datenbank: DB2 • Version: V7R1 • Zugriff über: Embedded SQL
Hallo zusammen,

ich hab mir folgenden SQL Befehl zusammengebastelt der mir Aufgrund von verschiednen Regeln eine Summe errechnet:

Code:
(select
FLD01, Decimal(sum(FLD02), 7, 2)
from tridatt.oldph
where FLD03 In ('17', '18')
group by FLD01)

union

(select
FLD01, Round(((Decimal(sum(FLD02), 7, 2) / 5) * 3), 0)
from tridatt.oldph
where FLD03 In ('19')
group by FLD01)

order by FLD01
Im Feld FLD01 befinden sich Artikelinformationen und in FLD03 Kalenderwochen...
Es kann jetzt sein das ich für einen Artikel 2 Summen erhalte.
Kann ich denn Union so aufbauen das ich pro Artikel nur noch eine Summe habe?
Andreas Schulze
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
34.938 Beiträge
 
Delphi XE2 Professional
 
#2

AW: SUM Werte im Union addieren

  Alt 25. Apr 2012, 13:53
Vielleicht mit Hilfe einer Derived Table?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.089 Beiträge
 
Delphi XE Professional
 
#3

AW: SUM Werte im Union addieren

  Alt 25. Apr 2012, 14:00
Vielleicht mit Hilfe einer Derived Table?
Was ist das?
Ich hör das zum ersten mal!
Andreas Schulze
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
34.938 Beiträge
 
Delphi XE2 Professional
 
#4

AW: SUM Werte im Union addieren

  Alt 25. Apr 2012, 14:03
SQL-Code:
select
    sum( ...), ...
from
((select
FLD01, Decimal(sum(FLD02), 7, 2)
from tridatt.oldph
where FLD03 In ('17', '18')
group by FLD01)

union

(select
FLD01, Round(((Decimal(sum(FLD02), 7, 2) / 5) * 3), 0)
from tridatt.oldph
where FLD03 In ('19')
group by FLD01)

order by FLD01 )
group by ...;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General
Online

Registriert seit: 16. Jan 2004
Ort: Bendorf
3.719 Beiträge
 
Delphi 2010 Professional
 
#5

AW: SUM Werte im Union addieren

  Alt 25. Apr 2012, 14:06
Oder in Worten: Ein Select auf ein Select (statt auf eine Tabelle):

SQL-Code:
SELECT
  sum(Feld1)
FROM
  (
    SELECT
      Felder
    FROM Tabelle1
    UNION
    SELECT
      Felder
    FROM Tabelle2
  )
GROUP BY Feld2
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.089 Beiträge
 
Delphi XE Professional
 
#6

AW: SUM Werte im Union addieren

  Alt 25. Apr 2012, 14:08
Ich weiß nicht ob das des gleiche ist, aber so funktionierts auf alle fälle in der DB2 von der AS400

Code:
with summe (FLD01, menge)
as
(
select
FLD01, Decimal(sum(FLD02), 7, 2) as menge
from tridatt.oldph
where FLD03 In ('17', '18')
group by FLD01)

union

select
FLD01, Round(((Decimal(sum(FLD02), 7, 2) / 5) * 3), 0) as menge
from tridatt.oldph
where FLD03 In ('19')
group by FLD01
)

select fld01, sum(menge) from summe
group by FLD01
order by FLD01
Andreas Schulze
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2014 by Daniel R. Wolf