我有两张桌子:
- 表 1 - ID,created_at
- 表 2,Id,table1_id,created_at
我想将所有 Table1 行包含在一个连接中,该连接获取最新的 Table2 记录(如果有,可能没有任何 table2 记录),并使用 Table2 上的 created_at 对结果进行排序。如果没有 Table2 记录,我希望能够将 Table1 中的 created_at 用于该记录的排序。
例子:
Table 1 (id, created_at)
1, 100
2, 200
3, 300
4, 400
Table 2 (id, table1_id, created_at)
1, 1, 500
2, 1, 450
3, 2, 350
并且查询会给出结果 (t1.id, t1.created_at, t2.id, t2.created_at)
1, 100, 1, 500
4, 400, --, --
2, 200, 2, 350
3, 300, --, --
我正在使用 Postgresql。完成此任务的最佳查询/方法是什么?