Я ищу, чтобы спроектировать запрос, где вычисление сравнивает значение в ячейке со значением в предыдущей ячейке в том же столбце, а другое вычисление использует предыдущий результат вычисления ссылается на предыдущую ячейку для вычисления. Эти данные будут в следующем порядке от образца изображения ниже - Материала, растений и YearWeekSQL Server 2008 R2 - Расчетная ссылка Предыдущая строка
с изображением ниже, синие заголовки столбцов представляют исходные данные, а желтые заголовки столбцов представляют расчет строк.
Формулы для расчета строк заключаются в следующем:
- Во-первых? = ЕСЛИ (И (В2 = В1, С2 = С1), "Нет", "первый")
- Фактическая Доступные = ЕСЛИ (F2 = "первый", D2-Е2, G1-Е2)
Из моего исследования функции LEAD и LAG могут помочь в этом, но поскольку я ограничен SQL Server 2008 R2, я не могу их использовать. Пожалуйста, найдите запрос для создания таблицы.
CREATE TABLE ZDAYS ([YearWeek] VARCHAR(7),
[Material] VARCHAR(3), [Plant] VARCHAR(3),
[Inventory] INT, [Demand] INT)
INSERT INTO ZDAYS VALUES ('2015-42', 'ABC', '101', 20, 5)
INSERT INTO ZDAYS VALUES ('2015-43', 'ABC', '101', 20, 3)
INSERT INTO ZDAYS VALUES ('2015-44', 'ABC', '101', 20, 2)
INSERT INTO ZDAYS VALUES ('2015-42', 'ABC', '201', 30, 10)
INSERT INTO ZDAYS VALUES ('2015-43', 'ABC', '201', 30, 8)
INSERT INTO ZDAYS VALUES ('2015-44', 'ABC', '201', 30, 4)
INSERT INTO ZDAYS VALUES ('2015-42', 'XYZ', '101', 10, 3)
INSERT INTO ZDAYS VALUES ('2015-43', 'XYZ', '101', 10, 2)
INSERT INTO ZDAYS VALUES ('2015-44', 'XYZ', '201', 20, 4)
Окончательный вывод данных
YearWeek Material Plant Inventory Demand First? Actual Available
2015-42 ABC 101 20 5 First 15
2015-43 ABC 101 20 3 No 12
2015-44 ABC 101 20 2 No 10
2015-42 ABC 201 30 10 First 20
2015-43 ABC 201 30 8 No 12
2015-44 ABC 201 30 4 No 8
2015-42 XYZ 101 10 3 First 7
2015-43 XYZ 101 10 2 No 5
2015-44 XYZ 201 20 4 First 16
Вы должны включать результаты, которые вы хотите в вашем вопросе. Вопрос не должен опираться на внешний веб-сайт. –
Привет @GordonLinoff, так как я новичок здесь, можете ли вы сообщить мне формат, в котором вы хотите увидеть окончательные результаты? Я приложил образец образа того, что ожидаю, но не знаю, как публиковать данные здесь в формате строки и столбца. – Shantanu
Вы можете поместить четыре пробела в начале строки, чтобы получить табличный или код. Кроме того, вы можете выделить несколько строк и нажать «{}». –