我有三个表,用户,博客和状态。
这是我的示例数据库的 sqlFiddle link
user是userId和用户的其他信息存储的主表。我希望当我从表用户搜索时,查询还应该从具有特定userId的其他两个表中获取数据。但是只有一行具有最大视图的博客,如果一个博客具有相同的视图,那么哪一行具有应该来的最大bogId 。并按desc排序,如果没有该userId的博客,则按状态ID排序。
结果如我所愿,但有人可以简化查询 抱歉英语不好。
答案 0 :(得分:0)
这就像你想要的一样吗?
SELECT *
FROM user u
LEFT JOIN blog b ON u.userId = b.userId
LEFT JOIN status s ON u.userId = s.userId
WHERE MATCH(u.firstName, u.lastName, u.userName) AGAINST('harry')
GROUP BY u.userId
ORDER BY b.views