Я пытаюсь написать простой «отменить» -системы для таблицы со следующей структурой:Update, где столбец имеет наибольшее значение
id element position start_date end_date
1 1 23 01/01/2015 05/01/2015
2 2 36 01/01/2015 NULL
3 1 17 05/01/2015 NULL
Так что, когда новое действие добавляется к существующему элементу, он добавляет новую строку с новой позицией и текущей датой и изменяет end_date предыдущей строки этого элемента на текущую дату.
Теперь, чтобы отменить это, я удаляю строку элемента, где не определено end_date (это последнее действие для этого элемента), но затем мне нужно изменить end_date предыдущей строки на null
.
Так, в pseudolanguage, запрос нужно будет:
UPDATE [table] SET end_date = NULL
WHERE element = 1
AND start_date = 'highest_start_date_to_be_found_of_this_element'
Вопрос: что ввести вместо highest_start_date_to_be_found_of_this_element
, чтобы заставить его работать?
попробуйте использовать max ([дата]) ..Это может помочь: http: //stackoverflow.com/questions/18839486/how-to-maxdate-and-use-the-in-feature-in-sql-server -in-one-query – praveen
Вы что-нибудь пробовали? –