我正在尝试连接两个表,并且在两个表中我有2个相同的列名,例如agent_id和日期,两个表都有agent_id和日期实际上我基于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
答案 0 :(得分:1)
SELECT sr.*,pm.paid
FROM `sales_report` as sr
INNER JOIN `payments` as pm
ON sr.`agent_id`=pm.`agent_id`
ORDER BY sr.date, pm.date
将在第一个表日期和第二个表格日期之后从第一张表和订单中获取日期。
答案 1 :(得分:0)
SELECT * FROM
(
SELECT sr.date
FROM `sales_report` as sr
UNION
SELECT pm.date
FROM `payments` as pm
)
ORDER BY date
我认为这是您想要的,sales_report
和payments
都需要被视为一个表格。然后对其进行排序。