首页 > 解决方案 > 如何在 PostgreSQL 上进行此查询?

问题描述

我有三张桌子:

客户表

在此处输入图像描述

产品表

在此处输入图像描述

客户_产品表

在此处输入图像描述

我需要查询:搜索购买了某种产品的客户(例如,name = "toilet paper")至少 2 次 我不明白如何..我是数据库中的菜鸟..请帮助

标签: sqlpostgresql

解决方案


你需要聚合:

select c.name
from customer c inner join
     customer_product cp
     on cp.customer_id = c.customer_id inner join
     product p
     on p.product_id = cp.product_id
where p.lable = 'toilet paper'
group by c.name
having count(p.lable) > 1;

推荐阅读