【发布时间】:2016-08-19 11:50:51
【问题描述】:
我正在尝试加入两个表,并且在这两个表中我有 2 个相同的列名,例如 agent_id 和 date 这两个表都有 agent_id 和 date 实际上我加入了基于 agent_id 的表,现在我想按日期列排序,但是作为两个表有日期列,所以它显示该日期列两次我希望它应该显示一次,这里按日期排序是我的表格的一个例子:
Table 1 (sales_report)
date agent_id agent_name agent_commission
01-Jan-2016 1 Jhon 200
02-Jan-2016 2 Smith 250
03-Jan-2016 3 Tracy 150
04-Jan-2016 4 Sam 120
Table 2 (payments)
date agent_id paid
02-Jan-2016 1 200
03-Jan-2016 2 150
04-Jan-2016 3 100
05-Jan-2016 4 50
我尝试通过 agent_id 加入这两个表现在我的问题是如何按日期订购?
这是我的查询:
SELECT *
FROM `sales_report`
INNER JOIN `payments`
ON `sales_report`.`agnt_id`=`payments`.`agnt_id` ORDER BY date
【问题讨论】:
-
您要在哪个日期前订购?来自 sales_report 或付款?
-
据我了解,您是正确的,您应该使用 Union 而不是 join。但是如果你能告诉我们预期的结果会更清楚
-
实际上我只想将两个表的结果和按日期排序,例如,如果表 1 日期值为 '01-Jan-2016' 而表 2 日期值为 '02-Jan-2016 ' 所以系统应该打印第一个表的值,然后是第二个表的值,这是所有记录都会出现的
-
这篇文章解决了我的问题:stackoverflow.com/questions/2309943/… 不管怎样,非常感谢
标签: mysql left-join inner-join