Я потратил все утро на это и просто не могу понять это правильно ... Я бы очень признателен за помощь кого-то более знающего, чем я, чтобы заставить это работать.
У меня есть таблица с некоторыми данными, которая выглядит следующим образом:
MonthYear WeekBeg. Week Value
Dec-10 27/12/2010 1 66.66
Jan-11 3/01/2011 2 50
Jan-11 10/01/2011 3 17.5
Jan-11 17/01/2011 4 20
Jan-11 24/01/2011 5 0
Jan-11 31/01/2011 6 50
Feb-11 7/02/2011 7 0
Feb-11 14/02/2011 8 74
Feb-11 21/02/2011 9 100
Извините, приведенная выше таблица не выглядит лучше ... Мне нужно вычислить разницу между значениями от недели к неделе - поэтому столбец результатов в этом случае будет:
16,66
32,5
2,5
20
50
50
74
26
Я просмотрел много кода в сети - (например, с этого сайта ), но не могу заставить его работать. Я добавил в функцию ABS, чтобы убедиться, что различия были абсолютными значениями, и все заработало, но сами цифры просто не верны.
Я не опубликовал то, чем закончил, потому что все больше и больше попадал в беспорядок, но я начал с ссылки выше. Опять же, я был бы очень благодарен за любые идеи, которые кто-либо может предложить.
Большое спасибо
ДОБАВЛЕНО:
Большое спасибо за быстрый ответ. Получилось легко - добавили несколько битов:
ВЫБРАТЬ T1.MonthYear AS [От], T2.MonthYear AS [До], T1.Week AS Week, T1.WeekBeg AS WeekBeg, ABS (T1.Value - T2.Value) AS Разница ОТ теста КАК T1 СЛЕДУЕТ СОЕДИНИТЬСЯ Тест AS T2 ON T2.Week = T1.Week + 1
Единственное, что итоговые значения разности должны быть во второй из двух строк, тогда как здесь они находятся в первой из двух. Есть ли простой способ изменить это?
Еще раз большое спасибо.
ДОБАВЛЕНО:
Определенно стоило бы использовать второй вариант, если это возможно, поскольку не всегда можно гарантировать, что недели не будут пропущены. Возможно, я что-то упустил, но когда я запускаю второй вариант от Томаса, я получаю сообщение:
'Указанное поле [T1]. [Datavalue] может ссылаться на несколько таблиц, перечисленных в предложении FROM вашего оператора SQL'.
Я думал, что это может быть связано с тем, что поле в таблице является VALUE, а не DataValue, но когда я его изменяю, вместо этого я получаю «Несоответствие типов в выражении».
Большое спасибо.