MySQl,加入/合并2个没有共享列的表,并按公共列排序

时间:2011-11-03 21:09:19

标签: mysql join

我有两个表具有相同的结构来处理不同的数据。我想合并它们,添加一个文本字段,指示该行的数据来自何处,并按公共字段排序。

TABLE1

ID|NAME|YEAR  

1,'peter',2008
2,'edward',2010

TABLE2

ID|NAME|YEAR

1,'compadre',2009
2,'vika',2011

查询草案(显然是错误的)

select * from TABLE1 JOIN TABLE2 order by YEAR asc

预期结果:

1,'peter','iamfromTABLE1',2008
1,'compadre','iamfromTABLE2',2009
2,'edward','iamfromTABLE1',2010
2,'vika','iamfromTABLE2',2011

我知道我可以使用PHP / MySQL来做到这一点,但是没有像“一个简单查询”那样更优雅的方式。

1 个答案:

答案 0 :(得分:6)

使用联合查询和文字:

SELECT ID, Name, 'iamfromTABLE1' as indicator, Year
FROM Table1
UNION
SELECT ID, Name, 'iamfromTABLE2' as indicator, Year
FROM Table2
ORDER BY Year

编辑:根据iim.hlk

的推荐添加了as indicator