Как сделать вложенный запрос в sql
Пробовала два этих запроса, либо ничего не выводится, либо все вперемешку. Не знаю, какой запрос тогда здесь нужен
SELECT * FROM products WHERE price>(SELECT AVG(price) FROM products WHERE category =(SELECT id FROM categories WHERE id=1))
SELECT * FROM products WHERE id=(SELECT id FROM categories WHERE id=1 and price=(Select price FROM products WHERE price>(SELECT AVG(price) FROM products)))
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
По хорошему, ваш запрос должен выглядеть как то так, что бы соответствовать условию задачи
SELECT * -- Берем нужные поля
FROM products p -- Из таблицы
WHERE price > ( -- где стоимость больше
SELECT AVG(price) -- среднего
FROM products pavg -- из таблицы
WHERE pavg.category = p.category -- где категория равна категории внешнего запрос
)
and category = ( -- и ИД категории равно
SELECT id FROM categories WHERE name = 'Джинсы' -- ИД категории с названием джинсы
)
Если отбирать по названию ID не требуется, то:
SELECT * FROM products p
WHERE price > (
SELECT AVG(price)
FROM products pavg
WHERE pavg.category = p.category
)
and category = 1 -- Указываете любую категорию