Массовое обновление + SQL + сам соединение

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

Исключая: Как в числе ниже - я хотел бы обновить эффективный endate с минимальной датой, какой бы ни больше, чем эффективная Дата начала текущей записи.

Как это может быть достигнуто в T-SQL. Это может быть сделано с единственным оператором обновления?

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

Спасибо.

1
задан Joel Coehoorn 26 May 2010 в 03:27
поделиться

2 ответа

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

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
ответ дан 3 September 2019 в 00:18
поделиться

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

обновить эффективное endate с помощью min Дата, в зависимости от того, что больше, чем эффективная Дата начала текущей записи.

1
ответ дан 3 September 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: