MySQL:从两个非常不同的表中选择最后更新

时间:2014-04-29 16:35:10

标签: mysql select

我试图到处搜索,但没找到任何答案。

我在数据库中有两个不同的表,只有两个相同的列(name,dateChanged),还有很多其他表在两个表中都不同。我希望从两个表中获取最新的X更新(将来会从更多表中获取)但我找不到这样做的方法。我的意思是

SELECT `name`, `dateChanged` FROM `mpolymer`, `mmetal` ORDER BY `dateChanged` DESC LIMIT 0,10

显示最新活动的快速摘要。我尝试了UNION,JOIN,但所有这些都需要加入一些常见的列,这是不可能的(我认为)。你有什么可能做我想做的事吗?

1 个答案:

答案 0 :(得分:0)

假设你想要两个表中的最后一个X事件(不是来自一个X事件和来自另一个事件的X事件),这应该适合你。

SELECT name, dateChanged FROM mpolymer
UNION
SELECT name, dateChanged FROM mmetal
ORDER BY dateChanged DESC limit 10;

DEMO

还要显示表名(根据您的评论)......

SELECT name, dateChanged, 'mpolymer' AS tableName FROM mpolymer
UNION
SELECT name, dateChanged, 'mmetal' AS tableName FROM mmetal
ORDER BY dateChanged DESC limit 10;

DEMO