Я хотел бы обновить столбец в Таблице со ссылкой на другой столбец (столбцы) в той же таблице.
Исключая: Как в числе ниже - я хотел бы обновить эффективный endate с минимальной датой, какой бы ни больше, чем эффективная Дата начала текущей записи.
Как это может быть достигнуто в T-SQL. Это может быть сделано с единственным оператором обновления?
сопроводительный текст http://img10.imageshack.us/img10/1448/updateenddate.jpg
Спасибо.
Как насчет использования подзапроса, например, следующего:
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);
Я подозреваю, что то, что вы хотите, может быть выполнено с помощью оператора case, но я не могу дать вам код, потому что следующая часть вашего вопроса не имеет смысла:
обновить эффективное endate с помощью min Дата, в зависимости от того, что больше, чем эффективная Дата начала текущей записи.