从具有特定ID的多个表中选择数据

时间:2013-12-25 17:06:26

标签: php mysql sql sql-server database

我有三个表,用户,博客和状态。
这是我的示例数据库的 sqlFiddle link

user是userId和用户的其他信息存储的主表。我希望当我从表用户搜索时,查询还应该从具有特定userId的其他两个表中获取数据。但是只有一行具有最大视图的博客,如果一个博客具有相同的视图,那么哪一行具有应该来的最大bogId 。并按desc排序,如果没有该userId的博客,则按状态ID排序。

结果如我所愿,但有人可以简化查询 抱歉英语不好。

1 个答案:

答案 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