自连接导致查询永远 运行
Self join causing query to run forever
我正在尝试使用自联接来获得累计总和。问题是查询运行超过 2 小时而没有任何结果。我该如何解决这个问题。
Select SUM(A.[GrossWeightKg] - A.[QtyLeftKg])/ 1000 AS DailyUsage
, SUM(a.[GrossWeightKg] - a.[QtyLeftKg])/ 1000 AS Cumulative
FROM [PMECentral].[dbo].[FactActualItemUsage] A
LEFT OUTER JOIN [PMECentral].[dbo].[FactActualItemUsage] ff
ON a.ActualItemUsageSourceId >= ff.ActualItemUsageSourceId
在 sql-server 2012 中你可以使用
....
SUM(a.[GrossWeightKg] - a.[QtyLeftKg]) OVER(ORDER BY ActualItemUsageSourceId ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
....
没有自连接。查看 OVER
-clause 尤其是带有 Rows
子句的部分。
我正在尝试使用自联接来获得累计总和。问题是查询运行超过 2 小时而没有任何结果。我该如何解决这个问题。
Select SUM(A.[GrossWeightKg] - A.[QtyLeftKg])/ 1000 AS DailyUsage
, SUM(a.[GrossWeightKg] - a.[QtyLeftKg])/ 1000 AS Cumulative
FROM [PMECentral].[dbo].[FactActualItemUsage] A
LEFT OUTER JOIN [PMECentral].[dbo].[FactActualItemUsage] ff
ON a.ActualItemUsageSourceId >= ff.ActualItemUsageSourceId
在 sql-server 2012 中你可以使用
....
SUM(a.[GrossWeightKg] - a.[QtyLeftKg]) OVER(ORDER BY ActualItemUsageSourceId ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
....
没有自连接。查看 OVER
-clause 尤其是带有 Rows
子句的部分。