Напишите запрос, чтобы найти полные имена клиентов, которые брали научно-фантастические фильмы напрокат более 2 раз, и расположите их в алфавитном порядке. - PullRequest
1 голос
/ 02 августа 2020

Я пытаюсь ответить на вышеуказанный вопрос, но мои результаты отличаются от ожидаемых. Мой код, как показано ниже,

select distinct concat(first_name, ' ', last_name) as Customer_name
from customer c
inner join rental r on r.customer_id = c.customer_id
inner join inventory i on i.inventory_id = r.inventory_id
inner join film f on f.film_id = i.film_id
inner join film_category fc on fc.film_id = f.film_id
inner join category ca on ca.category_id = fc.category_id
where name = 'sci-fi' and rental_id > 2
order by Customer_name

мы

1 Ответ

1 голос
/ 02 августа 2020

Агрегировать по имени клиента, а затем утверждать счет 2 или больше из предложения HAVING:

select concat(first_name, ' ', last_name) as Customer_name
from customer c
inner join rental r on r.customer_id = c.customer_id
inner join inventory i on i.inventory_id = r.inventory_id
inner join film f on f.film_id = i.film_id
inner join film_category fc on fc.film_id = f.film_id
inner join category ca on ca.category_id = fc.category_id
where name = 'sci-fi' and rental_id > 2
group by Customer_name
having count(*) > 2
order by Customer_name;
...