[редактировать]
Для записи вот проблемная часть запроса, которая сейчас работает:
SELECT
m.groupNum,
t.ea,
( t.ea - ( t.ea * m.margin )) AS estCost,
(( t.ea - ( t.ea * m.margin )) * t.quantity ) AS salesSub,
((( t.ea - ( t.ea * m.margin )) * t.quantity ) /
(
SELECT SUM(( t2.ea - ( t2.ea * m.margin )) * t2.quantity )
FROM temp as t2
INNER JOIN masters as m2
ON t2.mod = m2.mod
WHERE m2.groupNum = m.groupNum
)
) AS salesPercent
etc...
[конец редактирования]
Я думаю, что мне нужен запрос, который может рекурсивно обновлять себя на основе суммы значений столбца после вставки значений во все остальные записи для данного диапазона (groupNum).
У меня уже есть поля estCost и salesSub. Теперь мне нужно выполнить вычисления для поля salesPercent , которое включает в себя знание общего количества всех записей salesSub в данном наборе (groupNum).
salesPercent =
( salesSub / [the sum total of all salesSub amounts for each groupNum] )
(надрез)
SELECT
m.id,
t.priceEach,
( t.priceEach - ( t.priceEach * m.margin )) AS estCost,
(( t.priceEach - ( t.priceEach * m.margin )) * t.quantity ) AS salesSub
-- is it possible to perform calculation on salesPercent here?
INTO output
FROM financeMasters AS m
INNER JOIN temp AS t .......
(конец обрезки)
У меня есть это ...
------
output
---------------------------------------------------------------
id | groupNum | priceEach | estCost | salesSub | salesPercent |
---------------------------------------------------------------
1 | apple | 150.00 | 90.00 | 90.00 |
2 | apple | 100.00 | 60.00 | 60.00 |
3 | apple | 50.00 | 30.00 | 30.00 |
но как я могу рассчитать salesPercent по итоговой сумме salesSub (в данном случае 180.00), прежде чем узнать общую сумму?