在单个sql查询中选择多个表

Tom*_*Tom 0 mysql sql join sql-order-by

关于这一点的其他线索似乎没有帮助我.我想从一个表中选择所有信息,但是按照另一个表中的值对它们进行排序.

SELECT消息
ORDER BY 'votes' DESC;,
IP,
名称,
网站,
ID
FROM m_votes
WHERE删除= 0
和日期> DATE_SUB(NOW(),INTERVAL 1 DAY)
ORDER BY ORDER BY 'votes' DESC;DESC";

除了我需要m_votes在另一个名为的表中ORDER BY 'votes' DESC;.

是否有可能做到这一点?我在另一个网站上看到这个查询是不可能的.

$ query ="SELECT g.message,g.date,g.ip,g.name,g.website,g.id FROM guestbook_message AS g JOIN m_votes AS v ON g.id = v.vid WHERE g.deleted = 0 AND v.messageid = $ mid AND g.date> DATE_SUB(NOW(),INTERVAL 1 DAY)ORDER BY(v.votes)DESC;"

^^这不起作用

Mar*_*ers 5

您需要加入:

SELECT
     g.message,
     g.date,
     g.ip,
     g.name,
     g.website,
     g.id 
FROM guestbook_message AS g
LEFT JOIN m_votes AS v
ON g.id = v.message_id
WHERE g.deleted = 0 
AND g.date > NOW() - INTERVAL 1 DAY
GROUP BY g.id
ORDER BY COUNT(v.message_id) DESC
Run Code Online (Sandbox Code Playgroud)