从两个表中进行选择,并按两个表中公共列的先后顺序排列它们

时间:2018-07-18 23:32:47

标签: mysql sql

我有两个桌子 第一个表(消息表): message_id,参与者ID,时间(默认值:当前时间戳),message_body。

第二张表(分配表): 分配ID,参与者ID,时间(默认值:当前时间戳),信息。

两个表中的参与者ID相同,如何从两个表中选择所有信息,然后以“时间”的降序排列。

例如:从表中选择*连接表b,其中join_id = 1 desc(time);

我想要它,以便它将根据时间进行安排。 希望我的信息清楚。如果您需要更多说明,请随时联系我。

2 个答案:

答案 0 :(得分:1)

假设您要在分配中按时间排序。

Select m.id, a.allocation_id, a.info, m.message_body, a.time, b.time
FROM messages as m
INNER JOIN allocation as a
ON m.participant_id=a.participant_id
ORDER BY a.time DESC;

如果要按消息中的时间排序:

Select m.id, a.allocation_id, a.info, m.message_body, a.time, b.time
FROM messages as m, allocation as a
INNER JOIN allocation as a
ON m.participant_id=a.participant_id
ORDER BY m.time DESC;

答案 1 :(得分:0)

尝试一下:

从表a中选择*
联接表b 在a.participant_id = b.participant_id上
其中a.participant_id = 1
通过b.time desc排序