2017-02-23 156 views
0

У меня проблема с моим SQL-кодом. Я надеюсь, что вы можете мне помочь ... :)Доступ к SQL: как выбрать наименьшую разницу между двумя датами

Предпосылки:

-> Покажите мне последнюю цену продукта!

Потому что Цена продукта может измениться через определенное время. Таким образом, моя идея запроса:

Выберите имя продукта, из которого наименьшее различие между currentdate и dateofmodification.

Но я не знаю, как я могу сформулировать это правильно в SQL-коде? Может кто-нибудь мне помочь?

Спасибо

С уважением!

+0

Вы можете выбрать дату разницы между currentdate и dateofmification и указать это по возрастанию и принять первую строку – Veljko89

+1

Помогите нам помочь - пожалуйста, поделитесь структурой (-ами) таблицы (-ов), некоторыми примерами данных и результатом, который вы хотите получить для этого образца. – Mureinik

+0

общая структура таблицы и образец – user7417866

ответ

1

Вам не обязательно делать datediff(). Предполагая, что все значения dateofmodification в прошлом:

select top 1 productname 
from product 
order by dateofmodification desc; 

Для изменения даты, это кажется очень разумным предположением.

Примечание. Не используя функцию в столбце, механизм SQL может использовать индекс, значительно ускоряя запрос.

+0

Да. Нет необходимости слишком усложнять ситуацию. – Gustav

+0

спасибо, ребята, он работает без функции! – MES