【发布时间】:2017-03-27 14:58:17
【问题描述】:
通过这个查询,我应该从聊天表中获取我获得的每份协议的最新消息,以及包括公司名称等在内的所有信息。
我在子查询中使用 GROUP BY 解决了这个问题,但这不是我想要解决的方法,因为我不明白为什么它确实充当 RIGHT JOIN,为什么它不订购它我在子查询中的意思:
SELECT agreements.id, agreements.`date`, agreements.state, business.name, chat.message
FROM ((agreements JOIN
business_admin
ON agreements.business = business_admin.business AND business_admin.user = 1
) LEFT JOIN
business
ON business.id = agreements.business
) LEFT JOIN
(SELECT agreements_chat.agreement, agreements_chat.message
FROM agreements_chat
WHERE origin = 0
ORDER BY agreements_chat.`date` DESC
) AS chat
ON agreements.id = chat.agreement
非常感谢您的帮助,非常感谢!
【问题讨论】:
-
你为什么在你的连接周围使用括号?为什么在子查询中使用
order by?