Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 неясно почему не работает инструкция UPDATE  [new]
Wolfcub
Member

Откуда: Новочеркасск, Ростовская обл.
Сообщений: 34
заранее извиняюсь, но отдельного раздела форума по языку SQL не нашел :) если что - ткните ;)

Есть таблица с двумя временными полями начала и конца периодов.
Периоды объединены в группы - IDGroup
Начала периодов заполнены, требуется заполнить столбец конца периодов.

Для этого думаю, что надо среди всех периодов заданной группы найти период с датой начала большей даты начала заданного периода, но при этом минимальной.
То есть самой ближайшей справа.
пробую:

update Status
set EndDT = (
select min(B.BeginDT) from Status as B
where BeginDT < B.BeginDT
and IDGroup = B.IDGroup
)

Таким образом сделать ничего не получается. Вложенный select возвращает NULL.
5 янв 06, 11:50    [2230283]     Ответить | Цитировать Сообщить модератору
 Re: неясно почему не работает инструкция UPDATE  [new]
Al_B
Member

Откуда:
Сообщений: 478
А если попробовать написать

update Status
set EndDT = (
select min(B.BeginDT) from Status as B
where Status.BeginDT < B.BeginDT
and Status.IDGroup = B.IDGroup
)

т.е. в подзапросе ЯВНО указать имя "внешней" таблицы?
5 янв 06, 12:00    [2230307]     Ответить | Цитировать Сообщить модератору
 Re: неясно почему не работает инструкция UPDATE  [new]
Wolfcub
Member

Откуда: Новочеркасск, Ростовская обл.
Сообщений: 34
Спасибо огр-ромное :))
5 янв 06, 12:08    [2230328]     Ответить | Цитировать Сообщить модератору
 Re: неясно почему не работает инструкция UPDATE  [new]
Al_B
Member

Откуда:
Сообщений: 478
Welcome еще :)
5 янв 06, 12:25    [2230381]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить