【发布时间】:2018-03-12 01:46:37
【问题描述】:
我有一个查询来获取有缺陷的零件,另外我需要计算一段时间内所有生产零件的百分比值。
我是一个 SQL 菜鸟,但我得到的解决方案不起作用。我有这两个工作查询,我想将它们结合起来计算生产件数的百分比。
我尝试在查询中使用简单的子选择。但随后他只计算包含有缺陷零件的班次数量。我没有得到整个时间跨度的总和。所以我想结合这两个查询。
在此之后我尝试加入和联合,但我只收到错误消息。
我缩短并重新整理了显示的查询,以使其更易于理解。
(Oracle 11gR2)
查询以获取零件
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 ...
结果链接:
LineName DescDefect Sum(Errors.Rework)
Line1 Defect1 10
Line1 Defect3 2
Line3 Defect12 5
Line3 Defect53 5
查询零件数量:
SELECT Production.LineName, Sum(Batchdata.Produced)
FROM Production, Batchdata
WHERE ...=... AND ((Production.LineNumber Like '700_') AND (ShiftData.Date=...))
GROUP BY Production.LineName
结果:
LineName Sum(Batchdata.Produced)
Line1 500
Line3 700
我想要什么:
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
【问题讨论】:
标签: sql oracle join subquery union