Hey
ich möchte gerne zwei Queries verbinden, aber kommt einfach nicht weiter.
Ich habe folgende Daten
start & dringend (das sind Aufträge die den Status „dringend“ haben)
Ich hätte gerne
„Start“; „Anzahl“; „Anteil %“ ; „Anzahl dringende Aufträge“
Köln; 20 ; 0,2 ; 9
Berlin; 40 ; 0,4 ; 35
München; 40 ; 0,4 ; 2
Für die ersten drei Spalten benutz ich meine erste Query; für die letze meine zweite Query.
-
Query
SELECT
t1.start, countt1.start) as anzahl, round(ratio_to_report(count(t1.start)) over (), 4)*100 as percentage
FROM
t1, t21
WHERE
t1.id=t2.id
GROUP BY
t1.start
ORDER BY
t1.start ASC -
Query
SELECT
t1.start, count(t1.start)
FROM
t1, t2
WHERE t1.id = t2.id
and t1.dringend=1
GROUP BY
t1.start
ORDER BY
t1.start ASC
Wichtig ist, dass ich jeweils die dringenden Aufträge von allen Aufträgen, die ab Start(i) losgefahren sind auch dem enstsprechend anzeigen kann.
Dies war meine Lösung -
die aber nicht funktioniert => da krieg ich nämlich folgendes:
Start ; Anzahl ; Anteil%; dringende Aufträge
Köln ; 20 ; 0,2 ;46
Berlin ; 40 ; 0,4 ; 46
München ; 40; 0,4 ; 46
(46 = 9+35+2)
SELECT
t1.start, count(t1.start) as anzahl,
round(ratio_to_report (count(t1.start)) over (),4)*100 as percentage,
(SELECT count(t1.start)
FROM t1, t2
WHERE t1.id=t2.id AND t1.dringend=1)
FROM
t1, t2
WHERE
t1.id=t2.id
GROUP BY
t1.start
ORDER BY
t1.start ASC
t1.start ist ein string
t1.dringend ist entweder 1 oder 0
Ich benutze Oracle 8i (ich glaub 8.1.7).
Hat jemand eine Idee wie ich die beiden Queries verbinden kann?
Vielen Dank & herzliche Grüße