Объединение данных двух периодических регистров

FastCode 1518 12 22 67

Есть два периодических регистра. Первый содержит количества на дату (РегистрКоличество), а второй - состояния на дату (РегистрСостояние). Даты двух регистров независимы друг от друга. Требуется запросом построить третий "регистр", являющийся объединением первых двух, чтобы показывались соответствующие друг другу даты, количества и состояния. Вот короткое решение с использованием коррелированных запросов (ахтунг!):

Автор: ildarovich

ВЫБРАТЬ
    ВЫБОР
        КОГДА ТаблицаКоличества.Дата > ТаблицаСостояний.Дата
            ТОГДА ТаблицаКоличества.Дата
        ИНАЧЕ ТаблицаСостояний.Дата
    КОНЕЦ КАК Дата,
    ТаблицаКоличества.Количество КАК Количество,
    ТаблицаСостояний.Состояние КАК Состояние
ИЗ
    ТаблицаКоличества КАК ТаблицаКоличества
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаСостояний КАК ТаблицаСостояний
        ПО (ТаблицаСостояний.Дата В
                    (ВЫБРАТЬ
                        МАКСИМУМ(ТаблицаСостояний.Дата)
                    ИЗ
                        ТаблицаСостояний КАК ТаблицаСостояний
                    ГДЕ
                        ТаблицаСостояний.Дата <= ТаблицаКоличества.Дата)
                ИЛИ ТаблицаКоличества.Дата В
                    (ВЫБРАТЬ
                        МАКСИМУМ(ТаблицаКоличества.Дата)
                    ИЗ
                        ТаблицаКоличества КАК ТаблицаКоличества
                    ГДЕ
                        ТаблицаКоличества.Дата <= ТаблицаСостояний.Дата))
0
{3} Ожидается идентификатор
Орфографическая ошибка в ахтунг: ахтунг

См. также

Сравнение плановых и фактических дней отпуска

Запись в регистр сведений (периодический, независимый)

Временная таблица периодического регистра с периодами

ДанныеРазличаются (БСП)

Быстрое объединение двух таблиц значений

Движения периодического регистра сведений без повторов

Получение данных из регистра сведений не запросом

НаборЗаписейРегистраПустой (БСП)

СсылкаИзРегистраРазрешений (БСП)

Модератору