我有两个具有以下结构的表:
客户
- id_customer
- 客户名称
- 客户电子邮件
- 客户地址
订单
- id_order
- 订单号
- customer_id
- 订单价格
- 付款
- 订单日期
我需要一个查询,为我提供来自“customers”的所有“id_customer”,这些“id_customer”位于表“orders”/“customer_id”中,其中“order_price”>“payment”且“odrer_date”至少为 30 天前
最佳答案
从本质上讲,SQL 是一种操作集合的方法。您从子查询开始,以确定与 orders
表中的条件相匹配的 customer_id
值集。
SELECT DISTINCT customer_id
FROM orders
WHERE order_price > payment
AND order_date <= CURDATE() - INTERVAL 30 DAY
然后使用该子查询从 customers
表中获取数据。
SELECT *
FROM customers
WHERE id_customer IN (
SELECT DISTINCT customer_id
FROM orders
WHERE order_price > payment
AND order_date <= CURDATE() - INTERVAL 30 DAY
)
关于MySQL JOIN 两个表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59876598/