Ich habe eine Postgres-Datenbank mit einer Benutzertabelle (Benutzer-ID, Vorname, Nachname) und eine Usermetadata-Tabelle (Benutzer-ID, Code, Inhalt, erstellt Datetime). Ich speichere verschiedene Informationen über jeden Benutzer in der Benutzermetadaten-Tabelle nach Code und führe einen vollständigen Verlauf. so beispielsweise ein Benutzer (Benutzer-ID 15) hat die folgende Metadaten:Beitritt der letzten Usermetadata Tags zu Benutzerzeilen
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'
Ich brauche eine Liste aller meiner Benutzer und den aktuellsten Wert von jeder der verschiedenen usermetadata Codes zu holen. Ich habe das programmatisch gemacht und es war natürlich sehr langsam. Das Beste, was ich in SQL herausfinden konnte, war Sub-Selects zu verbinden, die ebenfalls langsam waren und ich musste für jeden Code einen tun.