数据库
首页 > 数据库> > mysql通过两列联接查询顺序

mysql通过两列联接查询顺序

作者:互联网

我正在尝试联接两个表,并且在两个表中我都有2个相同的列名,例如agent_id和date,两个表都具有agent_id和date,实际上我基于agent_id联接表,现在我想按日期列进行排序,但是由于两个表都具有date列所以它显示两次该日期列,我希望它应该显示一次,然后按日期排序是我的表格示例:

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

解决方法:

    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

从第一张表中得到您的日期,并在第一张表中的日期之前订购第二张表中的日期.

标签:mysql,inner-join,left-join
来源: https://codeday.me/bug/20191012/1898181.html