Sql 通过第二级连接表连接不相关的表

Sql 通过第二级连接表连接不相关的表,sql,mysql,Sql,Mysql,我在一个页面上有两个活动表:视图和评论 视图 id 时间戳 项目id 用户id 页码号 评论 id 时间戳 项目id 用户id 页面id 评论 页面 id 项目id 头衔 现在页面与项目相关: 项目 id 帐户id 头衔 我正在尝试创建一个摘要页面,该页面将按时间顺序排列的视图和注释组合在一起(这样,最新的视图/注释将按项目分组,并且仅限于特定帐户的项目) 因此,结果可能是: 项目1 视图5(6月20日) 视图4(6月18日) 评论5(6月15日) 评论4(6月14日) 评论3(6月12日) 项

我在一个页面上有两个活动表:视图和评论

视图
id
时间戳
项目id
用户id
页码号

评论
id
时间戳
项目id
用户id
页面id
评论

页面
id
项目id
头衔

现在页面与项目相关:

项目
id
帐户id
头衔

我正在尝试创建一个摘要页面,该页面将按时间顺序排列的视图和注释组合在一起(这样,最新的视图/注释将按项目分组,并且仅限于特定帐户的项目)

因此,结果可能是:

项目1 视图5(6月20日)
视图4(6月18日)
评论5(6月15日)
评论4(6月14日)
评论3(6月12日)

项目3 视图3(6月10日)
视图2(6月8日)
评论2(6月7日)

项目2 视图1(6月5日)
评论1(6月4日)

如果你能用SQL(甚至信条)来帮助解决这个问题,那就太棒了

多谢各位

Select project_id, id, timestamp, Projects.title, 'view'  
From Views Inner Join Pages on Views.page_id = Pages.id  
Inner Join Projects on Pages.project_id = Projects.id  
UNION  
Select project_id, id, timestamp, Projects.title, 'comment'  
From Comments Inner Join Pages on Comments.page_id = Pages.id  
Inner Join Projects on Pages.project_id = Projects.id
Order By project_id, timestamp  
这应该会给你一些你想要的东西。结尾的文字是这样你就可以知道哪个是视图记录,哪个是注释。但基本上,关键是union语句


如果我误解了什么,请告诉我。

@ajreal,谢谢你的格式化。你是如何格式化的?我在或[]中尝试了各种标记,但我找不到神奇的公式。这里有给新用户的提示吗?