我有一个带有用户表(用户 ID、名字、姓氏)和用户元数据表(用户 ID、代码、内容、创建日期时间)的 postgres 数据库。我通过代码将有关每个用户的各种信息存储在 usermetadata 表中,并保留完整的历史记录。例如,用户(用户 ID 15)具有以下元数据:
15, 'QHS', '20', '2008-08-24 13:36:33.465567-04'
15, 'QHE', '8', '2008-08-24 12:07:08.660519-04'
15, 'QHS', '21', '2008-08-24 09:44:44.39354-04'
15, 'QHE', '10', '2008-08-24 08:47:57.672058-04'
我需要获取所有用户的列表以及每个用户元数据代码的最新值。我以编程方式完成了这项工作,当然速度非常慢。在 SQL 中我能想到的最好的方法是加入子选择,这也很慢,我必须为每个代码做一个。