Всем добрый день. Стоит задача сделать запрос по трем таблицам, в последней из них есть много полей с датой необходимо выбрать единственную запись в которой дата самая последняя. Делаю так:
| Код |
SELECT distinct a.num, b.surname, b.name, b.fname, c.date_time FROM info a, clip b, lip c where a.status = 0 and b.code = a.id and a.num in ('1111', '2222') and c.num_no = a.mun_no and c.date_time is not null order by c.date_time DESC
|
то есть, я в первой таблице нахожу нужны мне номера, дальше из второй таблици я нахожу записи поля которых code соответствую id первой таблице. На данном этапе все работает супер, выводит 2 найденные записи с данными из 2х таблиц. Далее добавляю третию где есть есть информация о дате и тут размер результатов увеличивается до количества записей в третей таблице. То есть оно берет не первую запись, а все. Пытался сделать так:
| Код |
select * from ( SELECT distinct a.num, b.surname, b.name, b.fname, c.date_time FROM info a, clip b, lip c where a.status = 0 and b.code = a.id and a.num in ('1111', '2222') and c.num_no = a.mun_no and c.date_time is not null order by c.date_time DESC ) where rownum=1;
|
при таком выводит правильную (самую позднее дату) из третей таблицы, но запись всего одна. Помогите правильно составить запрос. Буду признателен за помощь!!! |