Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помощь с запросом  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 240
Вроде простой запрос, но туплю что-то. Есть таблица 'Orders' [id_order (PK), id_client, count_lic, date_create_order, date_exp]. Требуется получить клиентов у которых date_exp больше текущего дня и count_lic больше 2 и при этом учитывать только последний ордер клиента по date_create_order.
13 дек 18, 18:31    [21763366]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
court
Member

Откуда:
Сообщений: 1991
gepard1980
Вроде простой запрос, но туплю что-то. Есть таблица 'Orders' [id_order (PK), id_client, count_lic, date_create_order, date_exp]. Требуется получить клиентов у которых date_exp больше текущего дня и count_lic больше 2 и при этом учитывать только последний ордер клиента по date_create_order.

;with cte as (
	select 
		rn=row_number()over(partition by id_client order by date_create_order desc)
		,id_order, id_client, count_lic, date_create_order, date_exp
	from Orders
)
select * from cte 
where rn=1 and date_exp>cast(getdate() as date) and count_lic>2
13 дек 18, 18:37    [21763378]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 240
court, почему-то 48 строк вернул. а должны быть тысячи по сути.
13 дек 18, 18:44    [21763387]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
invm
Member

Откуда: Москва
Сообщений: 9299
gepard1980
а должны быть тысячи по сути.
;with cte as (
	select 
		rn=row_number()over(partition by id_client order by date_create_order desc)
		,id_order, id_client, count_lic, date_create_order, date_exp
	from Orders
        where date_exp>cast(getdate() as date) and count_lic>2
)
select * from cte 
where rn=1
13 дек 18, 18:58    [21763398]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
gepard1980
Member

Откуда: Ярославль
Сообщений: 240
invm и court Благодарю! Сначала не на боевой базе выполнил.
13 дек 18, 19:21    [21763410]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить