Как узнать, какие клиенты разместили заказы на товары, сделанные в США, см. - PullRequest
0 голосов
/ 08 апреля 2020

Какие клиенты размещали заказы на товары, сделанные на территории США?

ВЫБЕРИТЕ DISTINCT, ГДЕ, временную таблицу, подзапрос

таблиц для ссылки

enter image description here

1 Ответ

1 голос
/ 08 апреля 2020

Я бы использовал exists с коррелированным подзапросом, который следует отношениям, таким как клиент> заказ> элемент_ заказа> продукт> поставщик и фильтры для поставщиков из США:

select c.*
from customer c
where exists (
    select 1
    from order o
    inner join order_item oi on oi.order_id = o.id
    inner join product p on p.id = oi.product_id
    inner join supplier s on s.id = p.supplier_id
    where o.customer_id = c.id and s.country = 'USA'
)
...