Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
slonyra Member Откуда: Сообщений: 27 |
Будьте добры, подскажите. Нужно при запросы предусмотреть, чтобы запрос вывел дату погашения, которая не находятся между максимальной датой( дата from dm.выгрузка) и сегодняшней датой. Нулевые значения заменяются на 0. С моим кодом беда выходит |
5 ноя 15, 06:45 [18371252] Ответить | Цитировать Сообщить модератору |
Ruuu Member Откуда: Иркутск Сообщений: 4272 |
|
||
5 ноя 15, 07:07 [18371269] Ответить | Цитировать Сообщить модератору |
slonyra Member Откуда: Сообщений: 27 |
... a.дата погашения not it between max(a.дата) and isnull(a.дата, cast (getdate() as date),0) |
5 ноя 15, 07:14 [18371275] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
|
||
5 ноя 15, 07:22 [18371280] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
slonyra, и еще немного пищи для размышлений: а твоя MAX(дата) может быть больше, чем текущая дата? И вот если может, то как ты планируешь применить свой BETWEEN? |
5 ноя 15, 07:24 [18371282] Ответить | Цитировать Сообщить модератору |
slonyra Member Откуда: Сообщений: 27 |
Согласен. Запросы с датами не понимаю. Мне нужно выбрать дату погашения которая не находится между максимальной датой столбца дата и сегодняшней. Ошибку понял на счет сегодняшней датой. Максимальная дата точно не может быть равна сегодняшней |
5 ноя 15, 07:37 [18371293] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
slonyra, возможные пути решения задачи: 1) [NOT] EXISTS подзапрос 2) скалярный подзапрос с агрегацией для получения максимального значения даты по столбцу 3) использование оконных функций (max() over) |
5 ноя 15, 08:18 [18371337] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
как соотносятся между собой максимальная дата столбца и сегодня? если max(дата) больше или равна, чем сегодня, то условие будет простое: дата < сегодня если же max(дата) < сегодня то, получается, тебя интересует всё, кроме одной даты, которая равна максимуму. вот я и спрашиваю, что на самом деле ты хочешь получить? задачу опиши подробнее, с описанием предметной области, в которой она возникла. |
||
5 ноя 15, 08:24 [18371341] Ответить | Цитировать Сообщить модератору |
slonyra Member Откуда: Сообщений: 27 |
У нас есть определенная база с данными, данные в ней выгружаются каждый вечер, но бывает так, что данные забыли выгрузить или не захотели.. Поэтому нужно условие в запросе, чтобы данные выводились не за вчерашнюю дату и не в промежутке между максимальной датой таблицы "выгрузка" и сегодняшней. Потому что в таком случае запрос выдаст пустую табличку |
5 ноя 15, 08:38 [18371365] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |