UNION mit ORACLE

StefanLausL

Erfahrenes Mitglied
Hallo !

Folgendes Problem:

Ich habe ien Select mit Union und möchte die Ergebnisse asu Select 1 und 2 zusammenfassen.

SELECT Artikel,SUM(Bestand)
From Bestand1
group by Artikel
UNION
SELECT Artikel,MAX(Bestand)
From Bestand2
group by Artikel

Ergebniss soll die Summe aus SUM(Bestand) + MAX(Bestand)
sein.

Kann mir hier irgendjemand helfen ?
Wäre echt super !!
 
Wie wärs denn hiermit?

SQL:
SELECT  ARTIKEL, SUM( SUMME )
FROM (  
  SELECT  ARTIKEL, SUM( BESTAND ) AS SUMME
  FROM    BESTAND1
  GROUP   BY ARTIKEL
  UNION ALL
  SELECT  ARTIKEL, MAX( BESTAND ) AS SUMME
  FROM    BESTAND2
  GROUP   BY ARTIKEL
)
GROUP BY ARTIKEL;
 
Zuletzt bearbeitet von einem Moderator:
Hi,

StefanLausL schrieb:
Folgendes Problem:

Ich habe ien Select mit Union und möchte die Ergebnisse asu Select 1 und 2 zusammenfassen.

SELECT Artikel,SUM(Bestand)
From Bestand1
group by Artikel
UNION
SELECT Artikel,MAX(Bestand)
From Bestand2
group by Artikel

Ergebniss soll die Summe aus SUM(Bestand) + MAX(Bestand)
sein.


Du bist doch schon fast fertig:

Unter Oracle müsste folgendes funktionieren:

SELECT Artikel, SUM(Wert) AS SumPlusMax FROM
(
SELECT Artikel,SUM(Bestand) AS Wert
From Bestand1
group by Artikel
UNION
SELECT Artikel,MAX(Bestand) AS Wert
From Bestand2
group by Artikel
)
group by Artikel

Ich habe hier leider keine Oracle Datenbank zum Testen, es müsste aber funktionieren.

Es grüsst der

DORFDEPP
 
Hallo!

Ich habe ebenfalls ein problem mit uion:

Brauche die zwei Summen zu einer aufsummiert in einem Feld und einem Tupel, leider schaffe ich es nicht mit dem beispiel von vorher:

SELECT SUM(gf.monatsgehalt) *15 AS "Zahlung"
FROM personal pl,
person pn,
gehaltsstufe gf,
flugpersonal fl,
dienstrang dg
WHERE pl.personid = pn.personid
AND pl.gehaltsstufeid = gf.gehaltsstufeid
AND pl.personid = fl.personid
AND fl.dienstrangid = dg.dienstrangid
AND UPPER (dg.bezeichnung) LIKE '%PILOT%'
UNION ALL
SELECT SUM(gf.monatsgehalt) *14 AS "Zahlung"
FROM personal pl,
person pn,
gehaltsstufe gf,
flugpersonal fl,
dienstrang dg
WHERE pl.personid = pn.personid
AND pl.gehaltsstufeid = gf.gehaltsstufeid
AND pl.personid = fl.personid
AND fl.dienstrangid = dg.dienstrangid
AND UPPER (dg.bezeichnung) NOT LIKE '%PILOT%';

Bitte um Hilfe! Danke irgendwer33
 

Neue Beiträge

Zurück