我有两个SQL表,Activity
和Notifications
,在客户端我有一个显示两者合并的视图。但是,此视图需要进行分页(普通用户可能在此处有100个对象),并按两个表所具有的createdAt
列进行排序。
如何编写SQL查询以垂直加入两个表,按createdAt
排序,最后限制/偏移?
编辑:
架构:
Activity(id, createdAt, media, userId)
Notifications(id, createdAt, userId, text)
预期结果(按降序创建):
id | createdAt | media | userId | text
---------------------------------------
1 | ... | t.jpg | 56 | null
...
10 | ... | null | 45 | test
答案 0 :(得分:2)
看看你的例子,似乎你需要将表联合起来:
select id, createdAt, media, userId, Null as text from Activity
union all
select id, createdAt, Null as media, userId, text from Notifications
order by createdAt
limit 100