2

我是 SQL 的新手,只能做最基本的 SQL 查询,并感谢任何有关此问题的帮助。

MySQL 数据库包含一个 CUSTOMER 表和一个 PURCHASES 表。如果客户进行了购买,那么 PURCHASES 表中将有一个或多个序列号和购买日期。

我想知道如何返回在两个日期之间购买的每个客户的客户姓名、序列号和购买日期。

以下是表的说明:

采购

  • 客户ID
  • 序列号
  • 购买日期

顾客

  • 客户ID
  • 顾客姓名
  • 客户地址
4

2 回答 2

3

这里是:

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

于 2012-08-31T17:47:47.277 回答
1

你需要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';
于 2012-08-31T17:53:39.540 回答