Мои данные разделены на две таблицы. Одна из них - это таблица сущностей, в которой описываются основы сущности, и таблица редакций, в которой находятся данные сущности. Если я знаю объект, я могу запросить самую последнюю версию:
SELECT *
FROM `entities`
JOIN (SELECT *
FROM `revisions`
WHERE `entity_fk` = ?
ORDER BY `revised` DESC
LIMIT 0, 1) as `revision`
ON `entities`.`id` = `revision`.`entity_fk`
Но теперь мне нужно перечислить все объекты, использующие данные из их последней редакции.
revisions table
+--+---------+---------+--------------------+-------------------+
|id|entity_fk|title |body |revised |
+==+=========+=========+====================+===================+
|01| 01 |Hentity A|This Is tH3 first...|2010-08-30 10:02:45|
|02| 01 |Entity A |This is the first...|2010-08-30 10:16:30|
|03| 02 |Entity B |This is another... |2010-08-30 10:20:20|
То, что должен возвращать запрос, это список самых последних ревизий для каждого объекта, а не только для указанного объекта.
2,1,Entity A,This is the first...,2010-08-30 10:16:30
3,2,Entity B,This is another...,2010-08-30 10:20:20