【SQL29】購買了所有產品(5 和 6)的客戶的 id

寫一條 SQL 查詢語句,從 Customer 表中查詢購買了 Product 表中所有產品的客戶的 id。示例:Customer 表:

customer_id         product_key
1                   5
2                   6
3                   5
3                   6
1                   6

product表

product_key
5
6

result
1
3

購買了所有產品(5 和 6)的客戶的 id 是 1 和 3


解決:

select a.customer_id
  from (
        select customer_id
              ,product_key
          from customer
         where product_key = 5
        ) a
 inner join (
             select customer_id
                   ,product_key
               from customer
              where product_key = 6
            ) b
    on a.customer_id = b.customer_id
 order by customer_id
;

customer_id
1
3

備註:建表和數據
create table customer(customer_id int,product_key int);
insert into customer values(1, 5);
insert into customer values(2, 6);
insert into customer values(3, 5);
insert into customer values(3, 6);
insert into customer values(1, 6);

create table product(product_key int);
insert into product values(5);
insert into product values(6);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章