|
1c Запрос по двум таблицам
Александр111, maxab72, Amra, okmail, АгентБезопаснойНацио, Ненавижу 1С, X Leshiy, , , alexela, denk32, Bigbro, Cher_Novosib, alex73, Ёпрст, Галахад, AntiBuh, Stepashkin, Amfiaray, zenik, 2S, Tatitutu, Волшебник, Hawk_1c, U4Me2, Мультук, Многолетний Апельсин, Михаил Козлов, Fedor-1971, abfm, Bad_Aleks, , DimVad, Homer, vbus
| ☑ |
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)) КАК ДатаОкончания
ИЗ ТаблицаДат КАК ТаблицаДатНачало
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДат КАК ТаблицаДатОкончание
ПО (ТаблицаДатНачало.Сотрудник = ТаблицаДатОкончание.Сотрудник)
И (ТаблицаДатНачало.ДатаНачала < ТаблицаДатОкончание.ДатаНачала)
СГРУППИРОВАТЬ ПО
ТаблицаДатНачало.Сотрудник,
ТаблицаДатНачало.ДатаНачала
|
|