left join ... необходимо ограничить объединение

savit

Новичок
left join ... необходимо ограничить объединение

Всем привет!

есть таблица с объявлениями пользователей

msg_id | msg_title | msg_descr | msg_cid | msg_postdate

есть таблица с фотографиями связанными с объявлениями (кол-во фотографий для каждого объявления не ограничено)

photo_id | photo_file | owner_id


при выводе списка объявлений необходимо отражать заголовок объявления + одну картунку (именно одну а не все, все это уже при просмотре конкретного объявления)


сейчас делаю выборку с помощью примерно такого запроса:

select ads.msg_id, ads.msg_title, ads.msg_descr, photos.photo_file from ads left join photos on ads.msg_id=photos.owner_id where msg_cid=9 order by msg_postdate desc

и получаю примерно следующее:

1 | заголовок1 | /img/foto1.jpg
1 | заголовок1 | /img/foto2.jpg
1 | заголовок1 | /img/foto3.jpg
1 | заголовок1 | /img/foto4.jpg
2 | заголовок2 | /img/foto5.jpg
2 | заголовок2 | /img/foto6.jpg
..............

далее уже обрабатываю этот массив, что с моей точки зрения совсем не удобно =(


а хотелось бы чтобы из таблицы с фотографиями выбиралось не более одной строки (одного фото) для каждого объявления т.е на выходе хотелось бы иметь

1 | заголовок1 | /img/foto1.jpg
2 | заголовок2 | /img/foto5.jpg
...........


реально ли сделать это средствами SQL ? или все же необходимо обрабатывать массив (как сейчас и делается) ?
 
Сверху