Учитывая таблицу со стоимостью отдельных предметов в инвентаре на определенные даты, как я могу вернуть сводные данные, которые отражают общую стоимость на каждую уникальную дату?
Например, с учетом следующей структуры:
DECLARE @INVENTORY TABLE(
EFFECTIVE_DATE DATE NOT NULL,
ITEM INT NOT NULL,
VALUE DECIMAL(6,2) NOT NULL
)
INSERT @INVENTORY VALUES ('2011-01-01', 1, 40.01)
INSERT @INVENTORY VALUES ('2011-01-01', 2, 35.01)
INSERT @INVENTORY VALUES ('2011-01-01', 3, 17.01)
INSERT @INVENTORY VALUES ('2011-02-01', 2, 50.01)
INSERT @INVENTORY VALUES ('2011-02-01', 3, 45.01)
INSERT @INVENTORY VALUES ('2011-03-01', 1, 10.01)
INSERT @INVENTORY VALUES ('2011-03-01', 4, 5.01)
Какой запрос можно использовать для получения следующего?
EFFECTIVE_DATE TOTAL_VALUE
2011-01-01 92.03
2011-02-01 135.03
2011-03-01 110.04
Проблема заключается в том, что стоимость запасов будет по-прежнему учитываться в последующих датах. Обратите внимание, что 2011-03-01 представляет сумму самого последнего значения для всех четырех различных элементов, хотя только у двух из них есть запись на этот день.