2014-02-02 4 views
0

Я пишу запрос, который будет возвращать набор записей, который возвращает список транзакций, которые составляют> 2 года с даты запуска запроса. Следующий запрос возвращает записи, которые находятся в течение 2 лет.SQL-запрос с предложением HAVING

select distinct(itemid) from bwc_trav_InHistSoldOrConsumed_view 
group by itemid 
having max(transdate)<dateadd(yyyy,-2,getdate()) 
+0

Что такое тип данных 'transdate'? Можете ли вы предоставить примерную дату, когда запрос возвращается, но не должен? –

+0

Я добавил тэг sql-server, потому что синтаксис похож на SQL Server. –

+0

В чем вопрос? Как вернуть записи, которые старше двух лет? – surfmuggle

ответ

0

Попробуйте это:

select * from 
(
    select itemid, max(transdate) dt from bwc_trav_InHistSoldOrConsumed_view 
    group by itemid 
) t where t.dt < dateadd(year, -2, getdate()) 
+0

Спасибо. Это, похоже, работает точно ... Я сейчас в процессе проверки. – user3263614

Смежные вопросы