Я пытаюсь выяснить способ выполнения запроса, который будет получать все данные старше шести месяцев, без каких-либо новых данных. Я посмотрю, смогу ли я правильно подвести итог:Исключение даты SQL Server 2008
select u.USER_FirstName, u.USER_LastName,
u.USER_LastSession, c.Login_Name
FROM USER u
JOIN Customer c
ON u.USER_Customer_Identity=c.Customer_Identity
Where u.USER_LastSession < getdate()-180
Order by USER_LastSession
Это то, что я нашел на SO до сих пор, но проблема заключается в том, что USER.USER_LastSession записывает значения для каждого войти (так что некоторые Customer.Login_Name значения не нужны для возврата). I только хотите те, которые больше шести месяцев, без возврата результата, если они являются также, записанные в срок менее шести месяцев. Пример данных:
USER_LastSession login_name
2012-08-29 21: 33: 30,000 ТЕСТ/ТЕСТ
2012-12-25 13: 12: 23,346 Пример/Пример
2013-10 -30 17: 13: 45.000 TEST/TEST
Я бы не хотел возвращать TEST/TEST, так как есть данные за последние шесть месяцев. Я хотел бы, однако, вернуться к примеру ПРИМЕР/ПРИМЕР, поскольку он имеет только данные старше шести месяцев. Я предполагаю, что, возможно, что-то, что я упустил, - прошу простить меня, если на это уже есть ответ (я смог найти ответ «получить старше шести месяцев»). Любая помощь очень ценится!
Это плохой дизайн, однако ... таблица пользователь должен иметь только информацию о пользователе раз. И такая информация о регистрации сеанса должна размещаться в другом месте ... возможно, в журнальной таблице. –
Да, я знаю. =) Я пытаюсь обойти это - я думаю, что это сделал трюк. Большое спасибо за ваш ответ! – user2980961