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

Age*_*nce 2 mysql join

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

表格1

ID|NAME|YEAR  

1,'peter',2008
2,'edward',2010
Run Code Online (Sandbox Code Playgroud)

TABLE2

ID|NAME|YEAR

1,'compadre',2009
2,'vika',2011
Run Code Online (Sandbox Code Playgroud)

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

select * from TABLE1 JOIN TABLE2 order by YEAR asc
Run Code Online (Sandbox Code Playgroud)

预期结果:

1,'peter','iamfromTABLE1',2008
1,'compadre','iamfromTABLE2',2009
2,'edward','iamfromTABLE1',2010
2,'vika','iamfromTABLE2',2011
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用PHP/MySQL来做到这一点,但是没有比"One Simple Query"更优雅的方式.

MPe*_*ier 6

使用Union查询和文字:

SELECT ID, Name, 'iamfromTABLE1' as indicator, Year
FROM Table1
UNION
SELECT ID, Name, 'iamfromTABLE2' as indicator, Year
FROM Table2
ORDER BY Year
Run Code Online (Sandbox Code Playgroud)

编辑:as indicator根据iim.hlk的推荐添加