<分区>
我有 3 个表 - 用户表、book1 表、book2 表。
用户表是这样的-
user_id | gender | l_name | f_name
-------- -------- -------- -------
1 male Doe Jon
2 female Xu Jini
3 female Din Jane
book1 表 -
b_id | user_id | amount | date
----- --------- -------- ----------
1 3 98.30 2014-05-14
2 1 65.70 2014-05-07
3 2 14.40 2014-05-06
4 2 55.60 2014-05-07
book2 表 -
b_id | user_id | amount | date
----- --------- -------- ----------
1 2 38.20 2014-04-06
2 3 84.40 2014-04-02
3 3 31.30 2014-04-12
4 1 74.40 2014-05-06
用户提供了一个日期范围作为输入,我想计算该日期范围内的销售额 (COUNT)、总金额 (SUM) 和最大日期 (MAX)。在此之后,我想将此数据连接到用户表并使用 user_id 获取性别和姓名。
我编写此查询是为了从 book1 和 book2 表中获取给定日期范围内的数据-
SELECT * FROM book1
WHERE date between '2014-04-02' and '2014-05-15'
UNION ALL
SELECT * FROM book2
WHERE date between '2014-04-02' and '2014-05-15'
ORDER BY customer_id;
通过这个我得到了 book1 和 book2 表中满足日期范围的所有行。现在我应该使用子查询还是其他东西来达到目标。我认为 sql 应该注意从书本表中获取计数、总和和最大值。然后应该在 PHP 中完成与用户表的连接。我在正确的道路上吗?一切都可以用 SQL 完成吗?我有点迷路了。