Я пытаюсь рассчитать количество, оставшееся в каждом контейнере для воды, на основе количества получаемых заправок и количества извлеченного.
На данный момент я создал свои таблицы как:
CONTAINERS
----------
ID NUMBER
1 14F
2 12A
3 55Y
REFILLS
-------
ID CONTAINERID QUANTITY
1 14F 100
2 14F 10
3 12A 65
EXTRACTIONS
-----------
ID CONTAINERID QUANTITY
1 14F 20
Итак, мне нужен запрос, который вернет каждый контейнер с суммой, оставшейся в них, то есть в этом случае:
CONTAINERID CURRENTQUANTITY
14F 90
12A 65
55Y 0
Где 90 - результат двух пополнений и одного извлечения в этом случае (100 + 10-20).
Мне удалось вычислить сумму всех пополнений / экстракций:
SELECT CONTAINERS.ID, SUM(REFILLS.QUANTITY) AS REFILLSQUANTITY
FROM CONTAINERS INNER JOIN REFILLS ON CONTAINERS.ID = REFILLS.CONTAINERID
GROUP BY CONTAINERS.ID;
И так же для экстракций, но я немного застрял, как их объединить и получить разницу в одном запросе. Любая помощь будет высоко ценится!