我是SQL新手,只能做最基本的SQL查询,并且对此问题表示感谢。
MySQL数据库包含一个CUSTOMER表和一个PURCHASES表。如果客户已进行购买,则在PURCHASES表中将有一个或多个序列号和购买日期。
我想知道如何在两个日期之间为每位客户退回客户名称,序列号和购买日期。
以下是表格的说明:
购买
CUSTOMER
答案 0 :(得分: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
答案 1 :(得分:1)
你需要JOIN
这两张桌子;请参阅MySQL文档以了解加入概念。
您需要限制两个日期之间的购买查询:
WHERE purchase BETWEEN 'date1' AND 'date2'
这将告诉您客户ID。有了这个,你可以选择Customers表,所以:
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';