|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
Добрый день, Подскажите пожалуйста, можно ли реализовать такое? Входные данные: Код: 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.
В результате хотелось бы получить: DATE_FROM DATE_TO C ----------- ----------- ---------- 01.12.2020 31.12.2020 0 01.01.2021 31.01.2021 1 01.02.2021 28.02.2021 1 01.03.2021 31.03.2021 2 01.04.2021 30.04.2021 2 Без дублирования строк, в периоде с 01.12.2020 - 31.12.2020 данных в таблице input нет, т.е. значение 0. Далее появилась запись в input в январе, соответственно значение 1, в феврале в данной таблице записей нет, но календарем ее добавляем и переносим значение января и т.д. Пробовал так: Код: plsql 1. 2. 3. 4.
но первое значение не по результату, да и выглядит хлипко. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 12:13 |
|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
Вот решение: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 13:05 |
|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
AVP2012, Код: 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.
ps + nvl если надо ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2021, 13:18 |
|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
всем спасибо большое за ответы! в приведенном примере действительно все хорошо, но немного усложнив, не получается при добавлении первых двух строк в Код: plsql 1. 2. 3. 4.
хотелось бы, чтобы результат выглядел так DATE_FROM DATE_TO C ----------- ----------- ---------- -- при null 01.12.2020 31.12.2020 7 01.01.2021 31.01.2021 7 01.02.2021 28.02.2021 7 01.03.2021 31.03.2021 7 01.04.2021 30.04.2021 7 --при дате меньше календаря 01.12.2020 31.12.2020 11 01.01.2021 31.01.2021 11 01.02.2021 28.02.2021 11 01.03.2021 31.03.2021 11 01.04.2021 30.04.2021 11 -- входят в период 01.12.2020 31.12.2020 0 01.01.2021 31.01.2021 1 01.02.2021 28.02.2021 1 01.03.2021 31.03.2021 2 01.04.2021 30.04.2021 2 возможно? спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2021, 21:50 |
|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
AVP2012 возможно? в лоб Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2021, 09:21 |
|
Размножить строки с переносом значения
|
|||
---|---|---|---|
#18+
прошу прощения, криво объяснил. добавим некий идентификаторьв input, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
вот что хотелось бы в результате: ID DATE_FROM DATE_TO C ----------- ----------- ----------- ---------- 111 01.12.2020 31.12.2020 7 111 01.01.2021 31.01.2021 7 111 01.02.2021 28.02.2021 7 111 01.03.2021 31.03.2021 7 111 01.04.2021 30.04.2021 7 222 01.12.2020 31.12.2020 11 222 01.01.2021 31.01.2021 11 222 01.02.2021 28.02.2021 11 222 01.03.2021 31.03.2021 11 222 01.04.2021 30.04.2021 11 333 01.12.2020 31.12.2020 0 333 01.01.2021 31.01.2021 1 333 01.02.2021 28.02.2021 1 333 01.03.2021 31.03.2021 2 333 01.04.2021 30.04.2021 2 никак не совладаю с 333, декартово размножает на N строк, как провести связку периодов не пойму, чтобы только на количество строк в календаре, в данном случае, на каждый id только 5 строк :\ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2021, 12:07 |
|
|
start [/forum/topic.php?fid=52&fpage=16&tid=1880065]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 150ms |
0 / 0 |