|
Поиск пересечений периодов
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть SQL код. Создается таблица, где хранятся цены на определенные товары в зависимости от периода. Если в поле "ОкончаниеПериода" указано Null, то значит, что это как последняя действующая цена. Окончание периода это как граница. Необходимо вывести строки, где периоды пересекаются. SQL Код: sql 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.
Для указанных случаев в коде алгоритм находит пересечение периодов. Вроде как бы рабочий код. Хотелось бы поинтересоваться для текущего алгоритма есть то, что еще не учитывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2020, 12:28 |
|
Поиск пересечений периодов
|
|||
---|---|---|---|
#18+
ferzmikk, а разве цена не может быть установлена на завтрашний день? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2020, 13:30 |
|
Поиск пересечений периодов
|
|||
---|---|---|---|
#18+
ptr128 ferzmikk, а разве цена не может быть установлена на завтрашний день? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2020, 14:04 |
|
Поиск пересечений периодов
|
|||
---|---|---|---|
#18+
Скорректировал SQL Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 11:43 |
|
Поиск пересечений периодов
|
|||
---|---|---|---|
#18+
Классическая задача gap and islands. https://www.red-gate.com/simple-talk/sql/t-sql-programming/the-sql-of-gaps-and-islands-in-sequences/ 1. Вначале объединить все непрерывные периоды, в которых цена на данный товар - одинаковая. 2. Потом искать те объединенные периоды, начало или конец которых находится внутри других объединенных периодов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 12:09 |
|
|
start [/forum/topic.php?fid=46&fpage=39&tid=1685284]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 119ms |
0 / 0 |