MySQL 4表格查询帖子的图像始终位于顶部

时间:2012-08-03 11:36:00

标签: mysql join

我有4个MySQL表

文件夹,folder_users,folder_posts,帖子

我需要构建一个查询上面的视图,并根据用户ID返回我可以过滤的数据

文件夹有:

  

id,userid,title,date

folder_users有:

  

id,folderid,userid

folder_posts有:

  

id,folderid,postid

帖子有:

  

id,userid,media,text,type

目的是向登录用户显示一组文件夹,他们可以访问该文件夹,并显示最新图像(保存在posts表的媒体列中),理想情况下我希望将其转换为MySQL视图并按folder.date

排序

我正在努力从这个查询开始,所以任何帮助都会非常棒。谢谢。

*编辑只是想到了一个缺失的元素**

帖子表会有其他类型的帖子,这意味着文件夹中的某些帖子可能没有媒体,所以查询需要补偿这个,即哪里有媒体确保这包含在结果中哪里没有媒体然后不


1 个答案:

答案 0 :(得分:1)

SELECT
  p.media, f.title
FROM
  posts p
INNER JOIN
  folder_posts fp
  ON
  fp.postid=p.id
INNER JOIN
  folder_users fu
  ON
  fu.id=fp.folderid
INNER JOIN
  folder f
  ON 
  f.id=fu.folderid AND f.userid='LOGED_USER_ID'
WHERE p.media IS NOT NULL
GROUP BY p.id
ORDER BY f.date