Заполнить лакуны в последовательности одним запросом
От: teapot2  
Дата: 15.11.18 19:19
Оценка:
Добрый день, друзья.

Есть таблица в БД. Два поля. Первое, скажем, дата — первичный ключ. Тип второго не имеет значения, и это поле NULLable.

Таблица, как ей и положено, заполнена записями. Есть такие, для которых второе поле NULL — таких много.

Надо одним запросом вместо этих NULL установить значение из ближайшей более ранней записи, в которой это поле было не NULL.

Попробую объяснить на конкретном примере. Есть таблица "Курс $ ММВБ", два столбца: дата и собственно курс. Дни (даты) идут подряд, в дни, когда торгов не было и биржевой курс не определялся, стоит NULL. Необходимо заменить все эти NULL на значение из ближайшего предшествующего дня, когда торги были и курс, таким образом, установлен. Для простоты считаем, что для самой ранней даты курс имеется.

Будет ли такой запрос эффективен? Количество записей — несколько тысяч.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.