私のユーザーは、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
…
すべてのユーザーが 1 つのビューに表示されるようになりました。次のようになります (トークンとアプリが主キーになります)。
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 が必要です。