![]() |
|
1c Запрос по двум таблицам | ☑ | ||
---|---|---|---|---|
0
Cher_Novosib
11.04.25
✎
09:20
|
Добрый день. Помогите объединить две таблица в запросе, всё уже передумано как это сделать.
Картинку прилагаю, какой должен получится результат. заранее спасибо!
|
|||
1
Stepashkin
11.04.25
✎
09:15
|
(0) Привет. Картинка нерабочая.
|
|||
2
Волшебник
11.04.25
✎
09:15
|
(0) Тупой бот
|
|||
3
Cher_Novosib
11.04.25
✎
09:20
|
картинка
|
|||
4
Cher_Novosib
11.04.25
✎
09:16
|
не получается добавить
|
|||
5
Cher_Novosib
11.04.25
✎
09:16
|
почему тупой бот?
|
|||
6
Stepashkin
11.04.25
✎
09:16
|
(3) Вторая попытка провалилась. Последний шанс?
|
|||
7
Волшебник
11.04.25
✎
09:16
|
(5) Потому что задачу даже не сформулировал. Картинку дважды не добавил
|
|||
8
Stepashkin
11.04.25
✎
09:16
|
(4) Тогда и взятки гладки.
|
|||
9
Cher_Novosib
11.04.25
✎
09:21
|
Получилось добавить картинку. Извините, что сразу не получилось
|
|||
10
Волшебник
11.04.25
✎
09:23
|
Конфа не указана. Неизвестная структура
|
|||
11
Ненавижу 1С
гуру
11.04.25
✎
09:26
|
(0) соедините две первые таблицы по дате и сотруднику - получите три записи во временную таблицу
далее соедините новую таблицу с собой для получения интервалов |
|||
12
Cher_Novosib
11.04.25
✎
09:30
|
(10) конфигурация Зарплата и управление персоналом КОРП, редакция 3.1
|
|||
13
Cher_Novosib
11.04.25
✎
09:40
|
(11) Вот и не получается саму с собой соединить, не пойму как разбить периоды
|
|||
14
Волшебник
11.04.25
✎
09:34
|
(13) "не пойду"?
|
|||
15
maxab72
11.04.25
✎
09:35
|
Это задача из ветки "Самый быстрый программист 1С"? В третьей таблице некорректные данные периодов. Задача не решаема.
|
|||
16
Волшебник
11.04.25
✎
09:39
|
(15) Во второй таблице тоже время странное: 0:0:59
Да это бот |
|||
17
Cher_Novosib
11.04.25
✎
09:49
|
Вторая таблица для соединения
|
|||
18
Волшебник
11.04.25
✎
09:50
|
(17) Время неправильное
|
|||
19
Ненавижу 1С
гуру
11.04.25
✎
10:36
|
(13)
Пусть у тебя есть ТаблицаДат с полями Сотрудник и ДатаНачала, тогда из нее можно получить таблицу интвералов: ВЫБРАТЬ ТаблицаДатНачало.Сотрудник, ТаблицаДатНачало.ДатаНачала, ЕСТЬNULL(ДОБАВИТЬКДАТЕ(МИНИМУМ(ТаблицаДатОкончание.Сотрудник),ДЕНЬ,-1),ДАТАВРЕМЯ(3999,12,31)) КАК ДатаОкончания ИЗ ТаблицаДат КАК ТаблицаДатНачало ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДат КАК ТаблицаДатОкончание ПО (ТаблицаДатНачало.Сотрудник = ТаблицаДатОкончание.Сотрудник) И (ТаблицаДатНачало.ДатаНачала < ТаблицаДатОкончание.ДатаНачала) СГРУППИРОВАТЬ ПО ТаблицаДатНачало.Сотрудник, ТаблицаДатНачало.ДатаНачала |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |