Задача следующая: Нужно написать запрос для выдачи рекламных объявлений в зависимости от региона и категории.... Региона: Москва, Питер, Новосибирск и т.д. Категории: Авто, Мото и т.д. Есть цена для объявления.... Получаем три таблицы: Таблица регионов 1) id | idobv | idreg 1 1 1 2 1 2 3 1 3 4 2 1 ....... Таблица категорий 2) id | idobv | idcat 1 1 1 2 1 2 3 2 2 4 3 1 ..... 3) id | idobv | price 1 1 1 2 2 15 3 3 20 4 4 2 Мне нужно сформировать таблицу следующего плана id | idreg | idcat | idobv1 | price1 | idobv2 | price2 | idobv3 | price3 ... price 5... Т.е. таблицу для каждой пары категория - регион - первые 10 самых дорогих объявлений. Как мне оптимально написать запрос.... Очень нужна помощь. Пока из задумок только следующее: SELECT `obvreg`.`idreg` , `obvcat`.`idcat` , max( `obvprice`.`price` ) AS maxprice, `obvprice`.`idobv` FROM `obvreg` INNER JOIN `obvcat` ON `obvreg`.`idobv` = `obvcat`.`idobv` LEFT JOIN `obvprice` ON `obvreg`.`idobv` = `obvprice`.`idobv` GROUP BY `obvreg`.`idreg` , `obvcat`.`idcat` , `obvprice`.`idobv` HAVING maxprice = maxprice Но это выдает только первое объявление в паре (регион, категория) и то если есть такое по цене то выдается 2 объявления.. Как сделать одно, если цены совпадают никак не могу, а еще мне нужно выдавать первых 10 объявлений в порядке стоимости для пары (регион, категория).