mysql按日期排序和排序父表

mysql按日期排序和排序父表,mysql,join,doctrine,sql-order-by,doctrine-query,Mysql,Join,Doctrine,Sql Order By,Doctrine Query,我有两张桌子: id | name 1 | Mike 2 | Jack id | id_client | title | due_date | sort 1 | 1 | Xxxx | 2016-01-22 | 0 2 | 1 | Xxxx | 2016-01-24 | 1 3 | 2 | Xxxx | 2016-01-28 | 0 我需要按日期订购第一件,按排序订购第二件。我尝试过这个,但没有成功: ->createQ

我有两张桌子:

id | name
1  | Mike
2  | Jack

id | id_client | title | due_date   | sort
1  | 1         | Xxxx  | 2016-01-22 | 0
2  | 1         | Xxxx  | 2016-01-24 | 1
3  | 2         | Xxxx  | 2016-01-28 | 0
我需要按日期订购第一件,按排序订购第二件。我尝试过这个,但没有成功:

->createQueryBuilder()
            ->select("a.*","b.*")
            ->from("table_a", "a")
            ->leftJoin("a", "table_b", "b", "a.id = b.id_client")
            ->addOrderBy('b.due_date', 'ASC')
            ->addOrderBy('b.sort', 'ASC')

有什么帮助吗?

根据您的示例代码,您试图按表B中的“到期日”进行排序,但该列实际命名为“日期”。您没有确切说明您遇到了什么问题,但我首先要解决这个不匹配问题-最好将列重命名为mySQL中的保留字“date”,使用它本身可能就是一个问题。

您的代码中的
due\u date
列名真的不正确吗,或复制错误?如果要按要加入的表中的列排序,是否确实要使用
左联接
?如果不匹配,它应该使用什么日期?您确定您正确调用了
leftJoin
?我不使用条令,但我看了几个例子,它们看起来不像那样。这是一个复制错误。该专栏的截止日期问题具体是什么,“不工作”还不够清楚。你有错误吗?您是否获得了正确的数据,但顺序错误?