|
|
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Здравствуйте добрые люди. Подскажите пожалуйста. Есть данные 3х столбцов dt, A1, B2 Как написать запрос: Если dt >= '01.11.2017' , то в качестве данных по А1 использовать данные по А1 только за январь 2017 года? Написал: SELECT IIF dt, (t1.dt >= '01.11.2017', t2.A1, t1.A1) as A1, B2 FROM table as t1 LEFT JOIN ( SELECT dt, A1 FROM table WHERE dt between @bdt and @edt ) as t2 ON t1.dt = t2.dt В ноябре как раз меняет значение А1 , но только на null. В принципе понятно почему. Но не понятно как надо чтобы брались январские значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 11:58:24 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
А количество строк за ноябрь и январь у тебя всегда одно и тоже?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 12:02:57 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Cammomile, извини забыл написать. Допустим да, одно и то же. каждый день , каждый час , т.е.: 01.11.2017 00:00:00 01.11.2017 01:00:00 01.11.2017 02:00:00 ...... 01.11.2017 22:00:00 01.11.2017 23:00:00 02.11.2017 00:00:00 02.11.2017 01:00:00 ..... Ноябрь конечно может не лучший пример. Можно где количество дней одинаковое. суть в том что берутся значения за тот же день за тот же час только с января ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 12:12:59 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Bonddage, Два запроса через union all. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 12:14:24 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Bonddage, а когда понадобятся "значения за тот же день за тот же час только с" февраля, как действовать будешь для 29, 30 и 31 числа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 12:22:34 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Лаг постоянной или такая специфика только для Января - Ноября? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 12:30:59 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Cammomile, постоянный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 14:12:16 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Только январь) Конечно самое идеальное это просто брать значения год назад но хотелось бы с месяцами тоже понять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 14:13:45 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Так какая логика с 29 февраля и 30-31 в обычных месяцах? Или тебя устроит просто "30 календарных дней назад"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 15:18:04 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Cammomile, минус год для 29 февраля за 2012 год ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 07:25:50 |
|
||
|
Использование данных в столбце за предыдущий период
|
|||
|---|---|---|---|
|
#18+
Ну значит готовь отдельный набор данных, где примаплены текущие данные к тем, которые идут с лагом. Если у тебя, к примеру, записи имеют сквозную нумерацию, можно от текущего ИД отнимать N, где N - число записей в год. Если ты за это поручиться не можешь, то надо как-то по датам отдельно начитывать. Но ключевое тут, конечно же, отдельное отношение, на которое ты будешь джойниться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 10:18:18 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39567583&tid=1690703]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
226ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 487ms |

| 0 / 0 |
