0

我有 4 个 MySQL 表

文件夹、文件夹用户、文件夹帖子、帖子

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

文件夹有:

id、userid、标题、日期

folder_users 有:

ID、文件夹ID、用户ID

folder_posts 有:

id、文件夹id、postid

帖子有:

id、userid、媒体、文本、类型

目的是向登录用户显示一组文件夹,他们可以访问该文件夹并显示最新图像(保存在帖子表的媒体列中)理想情况下我想将它放入 MySQL 视图并拥有它按文件夹.日期排序

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

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

帖子表将包含其他类型的帖子,这意味着文件夹中的某些帖子可能没有媒体,因此查询需要对此进行补偿,即在有媒体的地方确保将其包含在结果中,然后在没有媒体的地方不这样做不


4

1 回答 1

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
于 2012-08-03T11:45:40.477 回答