У меня есть таблица с двумя колонками (startTime, endTime), это из типа dataTime.sql server 2008 r2 top (1) обновить дату не работает
, когда я вставить строку в этой таблице, я хочу, чтобы обновить предыдущие данные в этой таблице, как это:
update endTime in the row which has most recent (max) startTime
я работал (как другой поток, скажите мне), как это:
BEGIN
;with T as(
select *, ROW_NUMBER() over (order by startTime desc) RNum
from Order_Status
where [email protected]
)
update top(1) T set [email protected]
END
но похоже, что он обновляет маленький (самый старый) не самый последний.
что является правильным, пожалуйста,
даже ваш код, по-прежнему обновления наименьшую (старые) –
Необходимо заказывать по возрастанию на RNum начиная с startTime отсортировано по убыванию. Еще ... +1 для второго решения :). –
да второй работает :) :) большое спасибо –