DB2: Prozent berechnen/ausrechnen

CurlyConny

Mitglied
hallo!

und noch ein problemchen ;-)

habe eine tabelle mit folgendem code:

SELECT
'0' NODE_PK,
1 NODE_LEVEL,
'TOTAL' NODE_NM,
CAST(SUM(s.sales) AS CHAR(20)) NODE_SALES,
100 NODE_PERCENT,
'0' sort
FROM SYSIBM.SYSDUMMY1, sales s
UNION ALL
SELECT DISTINCT
CONCAT('0_',s.region) NODE_PK,
2 NODE_LEVEL,
s.region NODE_NM,
CAST(SUM(s.sales) AS CHAR(20)) NODE_SALES,
0 NODE_PERCENT,
CONCAT(CONCAT('0',s.region),CAST(SUM(s.sales) AS CHAR(20))) sort
FROM
sales s, employee e
GROUP BY s.region, e.lastname, e.firstnme
UNION ALL
SELECT DISTINCT
CONCAT('0_1_',s.sales_person) NODE_PK,
3 NODE_LEVEL,
CONCAT(CONCAT(e.lastname,' '),e.firstnme) NODE_NM,
CAST(SUM(s.sales) AS CHAR(20)) NODE_SALES,
0 NODE_PERCENT,
CONCAT(CONCAT(CONCAT('0', s.region),s.sales_person),CAST(SUM(s.sales) AS CHAR(20))) sort
FROM
sales s, employee e
WHERE e.lastname=s.sales_person
GROUP BY s.region, s.sales_person, e.lastname, e.firstnme
ORDER BY sort

Das sieht ungefähr so aus:

TOTAL 155(=Sales) 100 %
Manitoba 41(=Sales) 0,00 %
GOUNOT JASON 15(=Sales) 0,00 %
LEE WING 23 0,00 %
LUCCHESSI VINCENZO 3 0,00 %
Ontario-North 9 0,00
GOUNOT JASON 1 0,00
LEE WING 8 0,00
Ontario-South 52 0,00
GOUNOT JASON 10 0,00
LEE WING 34 0,00
LUCCHESSI VINCENZO 8 0,00
Quebec 53 0,00
GOUNOT JASON 24 0,00
LEE WING 26 0,00
LUCCHESSI VINCENZO 3

Wie kann ich nun für alle Sales in Prozent berechnen, z.B. Manitoba hat 41 Sales => 41/155*100
Aber wie füge ich das in meinen Code ein?

Danke und Grüße
Conny
 
Zurück