Запрос - вывести данные из двух SQL таблиц с определёнными условиями

Ребят привет! Давно не работал с SQL и подзабыл нюансы. Есть 2 таблы:

Client, Order

В Клиенте у нас

id (int)
born_at(timestamp)
Email(varchar)

в Ордер у нас

id(int)
Client_id(int)
Created_at(timestamp)
Paid_at(timestamp)

Нужно сделать запрос, что бы он возвращал таблицу с 3 колонками Email клиента, дата первого заказа, дата последнего заказа. И вывести тех клиентов, которые были созданы с начала 2014 года.


Ответы (1 шт):

Автор решения: Aziz Umarov

Вот так

select
      [client].[email] as [email],
      min( [order].[created_at]) as [firts_order_date],
      max( [order].[created_at]) as [last_order_date],
from [client]
     inner join [order]
     on [client].[id] = [order].[client_id]
group by
     [client].[email]
having
     min( [order].[created_at]) >= '2014-01-01'

Считаю что email уникальный и дата заказа это created_at. На счёт когда были созданы client подберите правильное поле я установил первую order.created_at. Вы сами решите когда был создан client.

→ Ссылка