формирование запроса

imp

Новичок
формирование запроса

Доброе время суток! Был бы весьма признателен в оказании помощи.

Есть таблица, содержащая сведения об организациях (id организации и название организации), есть таблица в которой хранятся сведения об обновлении поставляемых сведений в организацию (id организации и дата обновления). В ней записи с организациями повторяются поскольку обновления поступают с некоторой периодичностью для каждой организации. Задача:
получить выборку, содержащую организации и последнюю дату обновления для нее.

Пытался сделать это как-то таким запросом, но заранее чувствовал подвох.

SELECT DISTINCT u.id_org, u.date_upd, o.org_name FROM orgs o, updates u
WHERE (o.id_org=u.id_org)
AND u.date_upd=(SELECT MAX(date_upd) FROM updates u, orgs o WHERE o.id_org=u.id_org)
ORDER BY u.date_upd DESC;

Прошу наставить на путь истинный. Заранее благодарен.
 

Фанат

oncle terrible
Команда форума
какая проблема выбрать максимальные даты из второй таблицы и приджойнить к ней первую по id?
 

imp

Новичок
идею понял, но джоином никогда не пользовался,
и вот например я хочу выбрать записи во второй таблице без повторений организаций и с последним обновлением (типа для join'а)

SELECT DISTINCT id_org, data_upd FROM updates ORDER BY data_upd DESC

но если существует три организации и каждая из них обновлена по два раза то возвращается 6 строк, вместо 3, что не так? почему дистинкт не урезает?
 

imp

Новичок
спасибо за подсказки, основная задача решена, все получилось.
 
Сверху