@stainer

Как сделать выборку по одной строке из каждого условия?

Добрый день, изучаю sql, возникла задача.
Есть таблица в которой хранятся категории, id,parent_id,name.
Предположим категория: Автомобили, а ее подкатегории: электрические, бензиновые.
Автомобили: parent_id - 0
Электрические: parent_id - (id "автомобили")
Бензиновые: parent_id - (id "автомобили")
Сами автомобили хранятся в другой таблице с полями: id,category_id,name
Связь товаров и категорий проходит по id самой крайней категории по ветке.

Есть страница "Автомобили.php", на ней необходимо вывести по 1-2 автомобиля из каждой подкатегории, категории "Автомобили".
Т.е. ответом на запрос должны быть 2-4 (сами зададим потом LIMIT) строки из бензиновых и электрических.
  • Вопрос задан
  • 708 просмотров
Пригласить эксперта
Ответы на вопрос 1
streetflush
@streetflush
SELECT t1.id, Автомобили.name, t1.category_id from 
(
SELECT MAX(id) as id, category_id  FROM Автомобили WHERE category_id IN
(SELECT id FROM Категории WHERE parent_id = 0)
GROUP BY category_id
) t1 left join Автомобили on Автомобили.id = t1.id

Если без костылей, то по 1й выбрать реально.
Не уверен что в синтаксисе MySQL работает, но MSSQL должен
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы