|
Как в запросе разбить период на подпериоды | ☑ | ||
---|---|---|---|---|
0
MrBoss
22.01.16
✎
19:10
|
Есть интервал времени, например с 13:00 до 15:00, как его разбить на два периода с 13:00 до 14:00 и с 14:00 до 15:00, или с 13:00 до 13:30 - с 13:30 до 14:00 и т. д?
|
|||
1
Euguln
22.01.16
✎
19:11
|
А чем РАЗНОСТЬДАТ не устраивает?
|
|||
2
2S
22.01.16
✎
19:12
|
Добавь поле, 1/2/3. Обрабатывай при выводе
|
|||
3
MrBoss
22.01.16
✎
19:12
|
(1) Устраивает, тока сообразить не могу как с ним разбить бы... если не трудно маленький примерчик бы
|
|||
4
MrBoss
22.01.16
✎
19:23
|
Ну вот есть у меня период, с 9:00 до 12:00, надо разбить его на подпериоды по 20 минут, т. е. получить таблицу:
9:00 9:20 9:40 10:00 10:20 и т. д. Как мне разностьдат поможет? Надо для отчета на СКД |
|||
5
mistеr
22.01.16
✎
20:19
|
(4) Задача сводится к генерации арифметической прогрессии, соединению и сложению с началом периода. По генерации уже все обсосано, поиск в помошь.
|
|||
6
Лефмихалыч
22.01.16
✎
20:29
|
добавитькдате() + в поиске найди "порядковый номер в запросе"
|
|||
7
Garykom
гуру
22.01.16
✎
21:02
|
(4) лектронную очередь ваяем? случайно не для ЛПУ?
|
|||
8
MrBoss
26.01.16
✎
17:10
|
(7) Не совсем очередь, просто расписание, допустим врач работает с 9 до 10:20, время приема 20 мин, записано всего два пациента, скажем на 9:00 и 9:40, должно получиться примерно это:
9:00 |пациент| 9:20 | | 9:40 |пациент| 10:00| | 10:20| | Всё сижу и придумать не могу как мне пустые строки впихнуть |
|||
9
kosts
26.01.16
✎
17:23
|
(8) Дык сделал или нет?
|
|||
10
MrBoss
26.01.16
✎
17:25
|
(9) Неа. Было бы на обычных формах давно бы нарисовал и не парился, с этими УП как лучше сделать сижу гадаю
|
|||
11
AceVi
26.01.16
✎
17:34
|
(5) Генерация в запросе? я только в цикле такое умею. как ты в запросе сгенерируешь то?
Нужно просто в цикле сформировать таблицу и в запрос ее засунуть. а затем только левым соединением время прихода пациентов. только так. |
|||
12
mikecool
26.01.16
✎
17:56
|
(10) смотри (6) + в скд есть служебное поле - номер по порядку
побуй из них собрать пользовательское поле |
|||
13
kittystark
26.01.16
✎
18:36
|
ВЫБРАТЬ
0 КАК val ПОМЕСТИТЬ tt1 ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&Нач, МИНУТА, (tab1.val + 10 * tab2.val + 100 * tab3.val + 1000 * tab4.val) * 20) КАК Период ИЗ tt1 КАК tab1, tt1 КАК tab2, tt1 КАК tab3, tt1 КАК tab4 ГДЕ ДОБАВИТЬКДАТЕ(&Нач, МИНУТА, (tab1.val + 10 * tab2.val + 100 * tab3.val + 1000 * tab4.val) * 20) <= &Кон УПОРЯДОЧИТЬ ПО ДОБАВИТЬКДАТЕ(&Нач, МИНУТА, (tab1.val + 10 * tab2.val + 100 * tab3.val + 1000 * tab4.val) * 20) |
|||
14
kittystark
26.01.16
✎
18:40
|
УПОРЯДОЧИТЬ ПО - это для консоли запросов, чтоб посмотреть
для СКД этого не надо |
|||
15
Garykom
гуру
26.01.16
✎
20:48
|
(10) каким образом УФ запрещают юзать код? Вместо чистых запросов?
Даже в СКД можно функции засунуть при желании |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |