проблема с вложенным запросом

AmdY

Пью пиво
Команда форума
проблема с вложенным запросом

можно ли составить один запрос, который выбирает 5 самых популярных товара для каждой категории
category
category_id | title

item
item_id | category_id | title | popular

хотел так
SELECT category.title, item.title, item.popular
FROM category
LEFT JOIN item ON item.category_id = category.category_id
HAVING item.id IN (SELECT item.id FROM item WHERE item.category_id = category.category_id LIMIT 5)
IN и LIMIT оказались несовместимы :(, пока решил через костыль с = и OR, но получается много вложенных запросов
 

Ermitazh

Новичок
AmdY
LEFT JOIN + join таблицы самой на себя нужно использовать
и Having не нужен совсем
 

AmdY

Пью пиво
Команда форума
Ermitazh, что-то я неуловил, можно подробнее?
 

Ermitazh

Новичок
[sql]SELECT a.id, b.id FROM cat1 as a LEFT JOIN cat2 as b ON a.id = b.id JOIN (SELECT id FROM category LIMIT 5) as c ON a.id=c.id[/sql]

Примерно так...дальше думаю разберёшься...
 
Сверху