Неверные значения суммы количество умножается на количество строк
У меня есть этот запрос select
SELECT info.[OFNumber] --Get sum of item quantity from the same category (all quantity before production) PS_ProjectInfo table ,SUM(Case WHEN info.[FK_PSCategory]=2 then ((info.Length * info.[Quantity] )/1000)Else 0 end ) as 'm' -- Get sum of item quantity from the same category (Only quantity produced) PS_DailyProduction table ,SUM(Case WHEN info.[FK_PSCategory]=2 then PS_DailyProduction.Quantity ELSE 0 END) as 'qty' FROM [dbo].[PS_DailyProduction] Left JOIN PS_ProjectInfo info on info.id=PS_DailyProduction.[FK_OF] GROUP BY info.[OFNumber]
Теперь ,если каждый товар был произведен сразу, у меня есть одна строка в моей таблице PS_DailyProduction, нет никакой проблемы, но когда какой-либо товар был произведен в два или более раз (например, половина количества в один день, а остальное в другой день), ее проблема показывает, что в моей таблице PS_DailyProduction у меня есть более одной строки, и я получаю неправильный результат в другой день.
--Get sum of item quantity from the same category (all quantity before production) PS_ProjectInfo table SUM(Case WHEN info.[FK_PSCategory]=2 then ((info.Length * info.[Quantity] )/1000)Else 0 end ) as 'm'
Это количество умножается на количество строк из PS_DailyProduction
Цитата:Я использую LEFT JOIN, чтобы получить все строки из таблицы PS_ProjectInfo, даже если они еще не созданы
Что я уже пробовал:
Я попробовал это сделать, но ничего не вышло (деление на количество строк)
--Count(PS_DailyProduction.FK_OF) SUM(Case WHEN [FK_PSCategory]=2 then ((info.Length * info.[Quantity] )/1000)Else 0 end ) /Count(PS_DailyProduction.FK_OF)as 'm'
Maciej Los
Не могли бы Вы уточнить эту часть: "половина количества в один день а остальное в другой деньВам нужна его сумма или среднее значение (или еще что-то)?