我的用户分布在 5 个数据库的用户表中。看起来像这样:
db1.user
id token app lang last_update
XX 1 a en 11:00
XX 2 a en 12:00
db2.user
id token app lang last_update
XX 1 b en 12:00
XX 2 a en 16:00
db3.user
…
现在我需要一个视图中的所有用户,它应该看起来像这样(令牌和应用程序一起是主键):
view db.user_all
id token app lang last_update
XX 1 a en 11:00
XX 1 b en 12:00
XX 2 a en 16:00
我试图联合一切:
create view `db`.`user_all` AS
SELECT * FROM `db1`.`user` union
SELECT * FROM `db2`.`user`
结果如下所示:
view db.user_all
id token app lang last_update
XX 1 a en 11:00
XX 2 a en 12:00
XX 1 b en 12:00
XX 2 a en 16:00
我的 sql 语句删除了重复的行,但如果 last_update 不同,我在结果视图中得到了一个重复的用户。如何解决这个问题?我需要所有数据,也需要最新的 last_update。