Заполнение пропусков в таблице цветов

FastCode 1534 13 21 67

Есть таблица: 1 красный; 2 null; 3 null; 4 синий; 5 null; 6 белый; 7 null; 8 null Нужно получить таблицу: 1 красный; 2 красный; 3 красный; 4 синий; 5 синий; 6 белый; 7 белый; 8 белый

Автор: ildarovich

ВЫБРАТЬ
    Дано.Номер,
    ЕСТЬNULL(Выше.Цвет, Дано.Цвет)
ИЗ
    Дано КАК Дано
        ЛЕВОЕ СОЕДИНЕНИЕ Дано КАК Выше
        ПО (Дано.Цвет ЕСТЬ NULL )
            И (Выше.Номер В
                (ВЫБРАТЬ
                    МАКСИМУМ(Было.Номер) КАК Номер
                ИЗ
                    Дано КАК Было
                ГДЕ
                    Было.Номер < Дано.Номер
                    И НЕ Было.Цвет ЕСТЬ NULL ))
0
{2} Ожидается идентификатор

См. также

ЦветСтиля (БСП)

ТаблицаЗаменыПравВНастройкахПравОбъектов (БСП)

ПриЗаполненииТаблицыПараметровИБ (БСП)

Модератору