Connecting 3 tables to get data
本问题已经有最佳答案,请猛点这里访问。
我有三张桌子-用户桌,Book1桌,Book2桌。
用户表如下-
1 2 3 4 5 | user_id | gender | l_name | f_name -------- -------- -------- ------- 1 male Doe Jon 2 female Xu Jini 3 female Din Jane |
Boo1表
1 2 3 4 5 6 | 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 |
Boo2表
1 2 3 4 5 6 | 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 |
用户将日期范围作为输入,我想计算该日期范围的销售计数(计数)、总金额(总和)和最大日期(最大)。在此之后,我想将此数据连接到用户表,并使用用户_ID获取性别和名称。
我编写这个查询是为了从Book1和Book2表中获取给定日期范围的数据。-
1 2 3 4 5 6 |
由此,我得到book1和book2表中满足日期范围的所有行。现在我应该使用子查询或其他方法来实现这个目标。我认为SQL应该小心,直到从book表中得到count、sum和max。然后应该用PHP连接到用户表。我走对了吗?一切都能用SQL完成吗?我有点迷路了。
是的,您可以在SQL中使用一个普通的
这将基本上得到所有用户,并将他们加入到各自的金额在这个期间。然后,结果按用户分组,这样我们就可以合计金额了。
1 2 3 4 5 6 7 8 9 10 |
一个用来测试的sqlfiddle。
作为补充说明,了解连接对于有效地使用SQL数据库是非常必要的。