Массовое обновление + SQL + самостоятельное соединение - PullRequest
1 голос
/ 26 мая 2010

Я хотел бы обновить столбец в таблице со ссылкой на другие столбцы в той же таблице.

* 1002.

Как это можно достичь в T-SQL. Можно ли это сделать с помощью одного оператора обновления?

альтернативный текст http://img10.imageshack.us/img10/1448/updateenddate.jpg

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Как насчет использования подвыбора, что-то вроде следующего:

UPDATE MyTable mt
SET mt.EFFECTIVE_END_DATETIME = (SELECT MIN(mt2.EFFECTIVE_START_DATETIME)
                                 FROM MyTable mt2
                                 WHERE mt2.EFFECTIVE_START_DATETIME > mt.EFFECTIVE_START_DATETIME);
1 голос
/ 26 мая 2010

Я подозреваю, что то, что вы хотите, может быть выполнено с помощью оператора case, но я не могу дать вам код, потому что следующая часть вашего вопроса не имеет смысла:

обновить действующий конец с минимальной датой, которая больше, чем эффективная дата начала текущей записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...