codeigniter 按第二个表的ID对第一个表的结果进行排序

58wvjzkj  于 2023-01-22  发布在  其他
关注(0)|答案(2)|浏览(146)

我按id对一些用户进行排序(从最早到最新)。
这是我的帐户表:
Accounts
| 身份证|姓名|
| - ------|- ------|
| 1个|詹姆斯|
| 第二章|柯克|
| 三个|罗贝托|
| 四个|拉尔斯|
但是,我需要通过关联第二个消息表来改进这种排序。
Accounts_Messages
| 身份证|发件人标识|接收者_id|
| - ------|- ------|- ------|
| 1个|1个|四个|
| 第二章|1个|第二章|
| 三个|1个|三个|
在这种情况下,Accounts表中的用户应按最后的消息排序。

    • 这是预期结果:**

罗伯特
柯克;
拉尔斯
问题是:我如何按照第二个表的id对第一个表的结果进行排序?
我读到需要使用'JOIN'来关联这两个表,但我不知道如何在这个特定的情况下应用它。
谢谢大家!

gorkyyrv

gorkyyrv1#

嘿使用这个MySQL查询你的aspect结果

Select Accounts.name from Accounts_Messages left join Accounts on Accounts.id = Accounts_Messages.receiver_id order by Accounts_Messages.id DESC
tag5nh1u

tag5nh1u2#

这是我对您的问题的理解,您需要按accounts_Message的ID对帐户进行排序
我觉得你应该试试

SELECT acc.* FROM Accounts_Message am LEFT OUTER JOIN Accounts acc USING(id) ORDER BY id ASC

如果Accounts和Accounts_Message具有相同的列名id,请使用USING(id),或者列名不同,请改用ON acc.id = am.id

相关问题