我是 SQL 的新手,只能做最基本的 SQL 查询,并感谢任何有关此问题的帮助。
MySQL 数据库包含一个 CUSTOMER 表和一个 PURCHASES 表。如果客户进行了购买,那么 PURCHASES 表中将有一个或多个序列号和购买日期。
我想知道如何返回在两个日期之间购买的每个客户的客户姓名、序列号和购买日期。
以下是表的说明:
采购
- 客户ID
- 序列号
- 购买日期
顾客
- 客户ID
- 顾客姓名
- 客户地址
这里是:
select c.customer_name, p.serial_number, p.purchase
from purchases p, customers c
where p.customer_id = c.customer_id and
p.purchase between '2012-08-27' and '2012-08-31'
SQL Fiddle 在这里,您可以使用它:http ://sqlfiddle.com/#!2/e8002/3
你需要JOIN
两张表;有关连接概念,请参阅 MySQL 文档。
您需要限制两个日期之间的购买查询:
WHERE purchase BETWEEN 'date1' AND 'date2'
这将告诉您客户 ID。有了这个,你选择到客户表中,所以:
SELECT customer.customer_name,
purchases.serial_number,
purchases.purchase
FROM customer
JOIN purchases ON (customer.customer_id = purchases.purchase_id)
WHERE purchases.purchase BETWEEN '2012-01-01' AND '2012-08-01';