【发布时间】:2022-11-15 16:30:57
【问题描述】:
我有2张桌子
tableA:
| id | dateA | colA | ... |
|---|---|---|---|
| 1 | 2022-11-11 12:00:00 | A | |
| 2 | 2022-11-12 12:00:00 | B | |
| 3 | 2022-11-14 12:00:00 | C |
tableB:
| id | dateB | colB | ... |
|---|---|---|---|
| 3 | 2022-11-05 12:00:00 | D | |
| 4 | 2022-11-06 12:00:00 | E | |
| 5 | 2022-11-13 12:00:00 | F |
我想将所有行放在一个结果中并按列排序 date
想要的结果(两个表中的行按列排序 date DESC):
| id | date | colA | colB | ... | ... |
|---|---|---|---|---|---|
| 3 | 2022-11-14 12:00:00 | C | |||
| 5 | 2022-11-13 12:00:00 | F | |||
| 2 | 2022-11-12 12:00:00 | B | |||
| 1 | 2022-11-11 12:00:00 | A | |||
| 4 | 2022-11-06 12:00:00 | E | |||
| 3 | 2022-11-05 12:00:00 | D |
我可以组合表格,但表格被“压扁”了......
SELECT
COALESCE(a.id, b.id) AS id,
COALESCE(a.dateA, b.dateB) AS date,
a.colA,
b.colB
FROM tableA AS a, tableB AS b
ORDER BY date DESC
【问题讨论】:
标签: mysql sql mariadb sql-order-by union