SELECT с максимальной датой

[SDem]

Новичок
SELECT с максимальной датой

Добрый день всем.
Здадача такова: есть 2 таблицы с компанияями и котировками их акций.

Табл. 1 companies:
id
name

Табл. 2 indexes:
id
parent
value
date

В таблице companies находятся названия компаний, соответственно в таблице индексов находится стоимость акций этих компаний и дата обновления стоимости. Причём дата обновления не заменяется каждый раз во время обновления инфы, а просто в таблицу indexes добавляется ещё одна строка с новой датой и ценой. Таким образом в таблице индексов всегда содержится несколько строк привязанных по паренту к одной и той же компании, но сразными датами обновления.
ЗАДАЧА: Необходимо выбрать из таблицы компаний все компании и к каждой из них выбрать по одной строке с самым свежим индексом.

Делаю так:

SELECT c.name, i.value, i.date
FROM companies as c LEFT JOIN indexes as i
ON i.parent=c.id AND
GROUP BY i.parent

Проблема в том, что выбираются не последние значения, даже если добавить ORDER BY date DESC - всё равно ничего не получается, потому как сортируется уже результат выборки. Можно ли вообще осуществить такой запрос? А то я склоняюсь к мысли что нет (. Сразу скажу, что решения с изменением структуры таблиц и способа заполения не пригодятся, так как работаем в рамках ЦМС с определёнными жесткими требованиями к таблицам.
 

zerkms

TDD infected
Команда форума
вопрос обсуждался миллион раз
в поиск
 

[SDem]

Новичок
Да, спасибо, действительно нашел. Для будущих поколений)
http://phpclub.ru/talk/showthread.php?s=&threadid=77371&highlight=select+%F1%EE%F0%F2%E8%F0%EE%E2%EA%EE%E9+%E4%E0%F2%E5
 
Сверху