我有两个表具有相同的结构来处理不同的数据。我想合并它们,添加一个文本字段,指示该行的数据来自何处,并按公共字段排序。
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来做到这一点,但是没有像“一个简单查询”那样更优雅的方式。
答案 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