我试图组合这两个表,然后按一列(stamp
)对其进行排序,并对第二个表的id
字段进行别名。我试过连接,合并,但似乎没有任何工作。我也试图将它们分组由mm
加入并订购两个具有相同列的表
表note
id | mm | stamp |
==========================
1 | 5 | 2009-12-11 |
2 | 33 | 2010-09-10 |
3 | 22 | 2011-07-08 |
4 | 1 | 2012-05-06 |
表note_admin
id | mm | stamp |
==========================
1 | 5 | 2009-08-15 |
2 | 5 | 2011-11-11 |
3 | 5 | 2012-01-08 |
4 | 35 | 2012-02-06 |
查询我想会的工作:
(SELECT * FROM note WHERE mm=5)
UNION
(SELECT id AS a_id, mm, stamp FROM note_admin WHERE mm=5)
ORDER BY stamp DESC
预期结果
id | a_id | mm | stamp |
================================
| 3 | 5 | 2012-01-08 |
| 2 | 5 | 2011-11-11 |
1 | | 5 | 2009-12-11 |
| 1 | 5 | 2009-08-15 |
我甚至不知道这是否可能。我找到了一种在PHP中对它进行排序的方法,但如果它可以在mySQL中完成,它会容易得多。谢谢。
字段名称必须相同。 SELECT * FROM in ... –
@Glavić与之相反 - 在UNION查询中不选择SELECT *。始终要明确说明列顺序! –
如果表是相同的,则不需要。 –