@@ ProductionTable AS PT如下所示(示例适用于L020上的AC_46)
下面的SQL代码创建一个汇总PT.StandardTime的表。
SELECT *
FROM
(SELECT
PT.StandardTime AS col,
PT.AC AS AC,
PT.WC AS WC
FROM @ProductionTable AS PT
) t
PIVOT(
SUM(col)
FOR AC IN ([AC_43],[AC_44],[AC_45],[AC_46])
) pvt
看起来像这样(红色文本是上面的表格)
[我需要的是将StandardTime乘以Progress以获得完成的小时数,然后除以StandardTime来显示完成百分比,这样最终表将显示类似-
可以在上面的SQL提取中完成此操作,还是需要以某种方式开始修改@ProductionTable?
当然,当我写这篇文章时...解决方案就会出现。
SELECT *
FROM
(SELECT
CAST(ROUND(100 * PT.StandardTime * (PT.Progress / 100.0) / NULLIF(PT.StandardTime, 0), -1) AS INT) AS col,
PT.AC AS AC,
PT.WC AS WC
FROM @ProductionTable AS PT
) t
PIVOT(
AVG([col])
FOR aircraft IN ([AC_70043],[AC_70044],[AC_70045],[AC_70046]
) pvt