我在页面上有两个活动表:Views&评价。
视图
ID
时间戳
PROJECT_ID
USER_ID
page_id
评论
ID
时间戳
PROJECT_ID
USER_ID
PAGE_ID
评论
信息页
ID
PROJECT_ID
标题
现在页面与项目有关:
项目
ID
ACCOUNT_ID
标题
我正在尝试创建一个摘要页面,其中包含按时间排序的视图和注释(以便最新的视图/注释位于开头,按项目分组。此外,只有特定帐户的项目。
所以结果可能是:
观点5(6月20日)
查看4(6月18日)
评论5(6月15日)
评论4(6月14日)
评论3(6月12日)
观看3(6月10日)
查看2(6月8日)
评论2(6月7日)
查看1(6月5日)
评论1(6月4日)
如果您可以使用SQL(甚至是学说)来帮助解决这个问题,那将是非常棒的。
谢谢。
答案 0 :(得分:2)
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
这应该给你一些你想要的东西。最后的文字是这样你可以告诉哪个是观看记录,哪个是评论。但基本上,关键是工会声明。
如果我误解了某些内容,请告诉我。