我试图到处搜索,但没找到任何答案。
我在数据库中有两个不同的表,只有两个相同的列(name,dateChanged),还有很多其他表在两个表中都不同。我希望从两个表中获取最新的X更新(将来会从更多表中获取)但我找不到这样做的方法。我的意思是
SELECT `name`, `dateChanged` FROM `mpolymer`, `mmetal` ORDER BY `dateChanged` DESC LIMIT 0,10
显示最新活动的快速摘要。我尝试了UNION,JOIN,但所有这些都需要加入一些常见的列,这是不可能的(我认为)。你有什么可能做我想做的事吗?
答案 0 :(得分:0)
假设你想要两个表中的最后一个X事件(不是来自一个X事件和来自另一个事件的X事件),这应该适合你。
SELECT name, dateChanged FROM mpolymer
UNION
SELECT name, dateChanged FROM mmetal
ORDER BY dateChanged DESC limit 10;
还要显示表名(根据您的评论)......
SELECT name, dateChanged, 'mpolymer' AS tableName FROM mpolymer
UNION
SELECT name, dateChanged, 'mmetal' AS tableName FROM mmetal
ORDER BY dateChanged DESC limit 10;