|
|
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые форумчане. Вопрос в следующем имеется таблица с правилами для создания расписания. фото прикреплено Правила таковы: имеется время начала работы, время конца работы, рабочий интервал, и перерывы Можно ли средствами MySQL получить список доступного времени который входит в рабочее время с учетом перерывов? Или это лучше запрограммировать во внешнем приложении? Список доступного времени на выходе примерно такой 8:00; 8:15; ... 11:45; 13:00; .... 19:45 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 11:06 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Да, можно. dimon-hackerфото прикрепленоПо фотографии не лечим. Показывайте DDL таблицы и пример наполнения в форме INSERT INTO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 12:57 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Akina, Таблица заполняется из внешней проги, запрос добавления string.Format("insert into ris.device_work_sched values({0},{1},'{2}','{3}','{4}',{5},'{6}','{7}',{8});", 0, id_app, start_time, end_time, work_interval, isActive, service_time, name, day_of_week); Те значения которые не в апострофах - INT , остальные - VARCHAR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 13:35 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
По фотографии не лечим . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 13:59 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Akina, Вот дамп таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:05 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
А просто выложить очищенный от хлама дамп не судьба? вот так, например Код: 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. Первый же вопрос: такая [censored] структура - догма, или можно её изменить? Хранение CSV-мультизначений в поле service_time очень усложнит запрос. И второй: все значения времени такие "кратные", или возможны любые значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:24 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Akina, Таблица еще в разработке, поэтому можно менять, хотя и придется переписывать некоторые куски кода уже заточенные под нее. Время может быть любым кратным рабочему интервалу, который !=0 и < 3 часов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:40 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
dimon-hackerТаблица еще в разработке, поэтому можно менять Настоятельно рекомендую вынести service_time в отдельную таблицу и поделить на два поля (начало и конец). Упростишь себе жизнь в разы. Также рекомендую завести служебную таблицу (в этой или служебной БД) с INT от 0 до, скажем, 99. Проще использовать готовую, чем генерить её в рантайме в запросе. А она потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:43 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
Akina, Насчет сервис тайма согласен, ведь решение сделать ее мультизначной пришло уже после того как большая часть программы была написана, поэтому просто добавили в нее значения. Думаю придется править код... А насчет от 0 до 99 пока не врубился для чего? Видимо чтобы циклом бегать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 14:54 |
|
||
|
Циклический запрос к БД
|
|||
|---|---|---|---|
|
#18+
dimon-hackerА насчет от 0 до 99 пока не врубился для чего? У тебя стоИт задача генерации нескольких значений по формуле start_time + N * delay_time Можно, конечно, замутить цикл в процедуре, но гораздо проще в запросе брать значения N из готовой таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 15:09 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39309045&tid=1831408]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 473ms |

| 0 / 0 |
