Задать вопрос
@SuperiorAId

Как составить правильный запрос к бд?

Есть 3 таблицы:
1. product (продукты)
2. status (статус продукта)
3. bucket (корзина)

в корзине есть поле (product_id) ссылающаяся на id продукта
в продукте есть поле (status_id) ссылающаяся на id статуса
в статусах продуктов есть поле (name) именное обозначение статуса( 'зеленый' , 'красный', 'желтый' и тд....)

необходимо вывести bucket.id в которой кол-во продуктов >= 1, НО!! только 1 продукт имеет статус с name IN( 'зеленый' , 'красный').

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

пробовал делать с помощью GROUP BY HAVING COUNT

Диалект PostgreSQL
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
...
HAVING COUNT(*) > 1
   AND SUM( (name IN ('зеленый', 'красный')) :: INT ) = 1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы