1
Я пытаюсь использовать самостоятельное соединение, чтобы получить кумулятивную сумму. Проблема заключается в том, что запрос выполняется более 2 часов без какого-либо результата. Как я могу это исправить.Self join, вызывающий запрос для запуска навсегда
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-сервер 2012 вы можете использовать что-то вроде 'SUM (а [GrossWeightKg] -.. А [QtyLeftKg]) OVER (ORDER BY ActualItemUsageSourceId РЯДОВ МЕЖДУ неограниченном ПРЕДЫДУЩИЙ И ТОКА ROW)' без автообъединение –
Выражения для DailyUsage и Cumulative точно такие же. - Это ошибка, не так ли? – PhilS
Вам не хватает дополнительного условия JOIN на ItemId или что-то в этом духе? Запрос, поскольку он будет производить огромный объем вывода и, в зависимости от объема данных в таблицах, будет работать некоторое время. – PhilS