Ich habe eine Anfrage, um defekte Teile zu bekommen und zusätzlich muss ich den Prozentwert für alle produzierten Teile über einen Zeitraum berechnen.SQL Prozent mit unabhängiger Unterabfrage? Union?
Ich bin ein SQL-Noob, und ich bekomme keine funktionierende Lösung. Ich habe diese zwei Arbeitsquery und ich möchte sie kombinieren, um Prozent über die Anzahl der produzierten Stücke zu berechnen.
Ich versuche es mit einem einfachen Subselect in der Abfrage. Aber dann berechnet er nur die Anzahl der Teile der Schichten, die die fehlerhaften Teile enthalten. Ich bekomme nicht die Summe der Stücke über die gesamte Zeitspanne. Daher möchte ich diese beiden Abfragen kombinieren.
Danach versuche ich Join und Union, aber ich bekomme nur Fehlermeldungen.
Ich kürze und räume die angezeigten Querys auf, um sie verständlicher zu machen. für die Anzahl der Teile
LineName DescDefect Sum(Errors.Rework)
Line1 Defect1 10
Line1 Defect3 2
Line3 Defect12 5
Line3 Defect53 5
Abfrage::
(Oracle 11gR2)
Abfrage, um die Teile
SELECT Production.LineName, Names.DescDefect, Sum(Errors.Rework)
FROM Production, Batchdata, Errors, Names, ShiftData, Shifts
WHERE ...=... and ShiftData.Date=...
GROUP Production.Line, Names.DescDefect
HAVING (Production.LineNumber Like '700_')
ORDER BY ...
Ergebnis LINKE diese zu bekommen
SELECT Production.LineName, Sum(Batchdata.Produced)
FROM Production, Batchdata
WHERE ...=... AND ((Production.LineNumber Like '700_') AND (ShiftData.Date=...))
GROUP BY Production.LineName
Ergebnis :
LineName Sum(Batchdata.Produced)
Line1 500
Line3 700
Was ich will:
LineName DescDefect Sum(Errors.Rework) percent
Line1 Defect1 10 2
Line1 Defect3 2 0,4
Line3 Defect12 5 0,7
Line3 Defect53 5 0,7