|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
Приветствую! Делаю отчёт, на вход поступает две даты за год, к примеру to_date(‘31.01.2020’, ‘dd.mm.yyyy’) и to_date(‘31.04.2020’, ‘dd.mm.yyyy’) Как из этих двух параметров выбрать к примеру 3й месяц, чтобы отображало to_date(‘31.03.2020’, ‘dd.mm.yyyy’)? Отчёт отображает данные по месяцам за год, делаю каждый месяц по селекту, объединяю с union all, внутри хотелось передавать в каждый селект дату своего месяца Спасибо большое за любую информацию! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 13:11 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorloto_date(‘31.04.2020’, ‘dd.mm.yyyy’) давно в апреле стало 31 день ? авторКак из этих двух параметров выбрать к примеру 3й месяц, чтобы отображало to_date(‘31.03.2020’, ‘dd.mm.yyyy’)? а вдруг Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 13:46 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorloОтчёт отображает данные по месяцам за год, делаю каждый месяц по селекту, объединяю с union all, внутри хотелось передавать в каждый селект дату своего месяца Перестань заниматься глупостями, прочитай SQL Reference на предмет GROUP BY и EXTRACT. Запроса достаточно одного. Без UNION. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 13:48 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorlo, c union надо запрос генерить динамически перечень Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 15:16 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Динамически не понимаю как собрать... У меня структура таблички примерно следующая должна получиться Название строки Id строки 1 месяца значение 1 месяца Id строки 2 месяца значение 2 месяца ..... до 12 У строк внутри ещё есть подитоги как отдельные подстроки, подитоги с пустой Id строки Строки собираю с подитогами уже делаю с union, чтобы суммы собрать, к примеру за первый месяц. Ну и мысль с union ещё собрать все месяца( громоздко, но по-другому не знаю как. Поэтому получается 1) Один подзапрос с union чтобы собрать все строки и подсудимы по ним к примеру за месяц 1 2) Иотговый зарос , который будет 12 раз повторять п.1 таким образом Row Id1 m1 id2 m2 .... 123 2 1 Null null 124 Null null 3 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 16:46 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
123йй, Да, у меня будут перечислены все 12 месяцев в селекте И нужно, и к примеру фильтры так Datebegin Dateend 29.02.2020 30.04.2020 Нужно отобразить в селекте за первый месяц, что нет значений А тут получится, что возьмём так trunc(to_date(dateend, 'dd.mm.yyyy'),'mm')-3 И тут получается вычесть только 1 месяц, дальше вычищаются по 1 дню... Как можно вычесть несколько месяцев ? И при этом чтобы месяц не начальная дата месяца, а конечная ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 17:00 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorlo Название строки Id строки 1 месяца значение 1 месяца Id строки 2 месяца значение 2 месяца ..... до 12 возможно у Вас классический pivot Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
+ grouping ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 17:27 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorloУ меня структура таблички примерно следующая должна получиться Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 17:27 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Поясню, что хотел сделать ниже по коду привожу пример. w1 - пример выборки, только я привел за 2 мексяца, а должно быть за 12 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2021, 01:05 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorlo, Вот, что должно получиться. Если видите путь сделать проще выборку из w1, поясните. Ещё момент,на вход приходит две даты, дата начала(datebegin) и дата конца (dateend), но даты за 1 год - до конца ещё не придумал, как для каждого подселекта делать передавать дату за месяц. К примеру если подселект за 1-1 месяц, а дата с 29.02.2020 по 30.04.2020, то в первый месяц передать нулевую дату, во второй месяц передать 29.02.2020... в 4-й 30.04.2020, в остальные месяцы передавать nul, так как не подходит по периоду выбранному ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2021, 01:12 |
|
Как из диапазона двух дат выбрать 1 месяц?
|
|||
---|---|---|---|
#18+
zorlo, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2021, 16:29 |
|
|
start [/forum/topic.php?fid=52&msg=40054643&tid=1880298]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 252ms |
0 / 0 |