Как сделать выборку по одной строке из каждого условия?
Добрый день, изучаю 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) строки из бензиновых и электрических.
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 должен