SQL JOIN和ORDER两个表一列

时间:2015-01-25 19:20:50

标签: sql postgresql join

我有两个SQL表,ActivityNotifications,在客户端我有一个显示两者合并的视图。但是,此视图需要进行分页(普通用户可能在此处有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

1 个答案:

答案 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