Получить сумму значений для другой строки в группе В SQL.
У меня есть таблица Parameter_List с полями Parameter_ID,Parameters_Name, Target_Value, GroupID.
Значения могут быть следующими
Parameter_ID Parameters_Name Target_Value GroupID Sequence_No 1 Para_1 1000 2 1 2 Para_2 2000 2 2 3 Para_3 3000 2 3 4 Para_4 NULL 2 4 5 Para_5 5000 2 5 6 Para_1 1450 3 1 7 Para_2 1200 3 2 8 Para_4 NULL 3 3 9 Para_5 3000 3 4 10 Para_2 3000 4 1 11 Para_3 4000 4 2 12 Para_4 NULL 4 3
Как вы можете видеть, Target_Value для Para_4 всегда равен нулю.
Теперь, когда я хочу отобразить записи, я хочу, чтобы значение для Para_4 было равно сумме Target_Value параметров выше Para_4 для этой группы.
Например, для GroupID 2 значение Para_4 должно быть суммой первых 3 строк. Таблица имеет столбец Sequence_No. Таким образом, Para_4 должен иметь Target_Value как сумму всех строк над ним в этой конкретной группе.
Надо группы группы. Таким образом, результат будет выглядеть следующим образом
Para_1 1000 2 Para_2 2000 2 Para_3 3000 2 Para_4 6000 2 Para_5 5000 2 Para_1 1450 3 Para_2 1200 3 Para_4 2650 3 Para_5 3000 3
Что я уже пробовал:
Я пытался использовать UNION, но я не думаю, что это хорошее решение (или это так?). Как это влияет на производительность?