У меня есть четыре стола.Структура этих таблиц показана ниже (я только показываю соответствующие имена столбцов).
User (user_id)
User_RecordType (user_id, recordType_id)
RecordType (recordType_id)
Record (recordType_id, record_timestamp, record_value)
Мне нужно найти самые последние record_value
для каждого RecordType
, к которому данный пользователь имеет доступ,Метки времени хранятся в секундах с начала эпохи.
Я могу получить RecordTypes, к которым у пользователя есть доступ, с помощью запроса:
SELECT recordType_id
FROM User, User_RecordType, RecordType
WHERE User.user_id=User_RecordType.user_id
AND User_RecordType.recordType_id=RecordType.recordType_id;
Чего этот запрос не делает, так это извлекает самую последнюю запись для каждого RecordType, который пользовательимеет доступ к.В идеале я хотел бы сделать все это в одном запросе и без использования каких-либо хранимых процедур.
Итак, кто-нибудь может дать мне немного своего SQL-фу?Спасибо!