@levin-pwnz

MySQL pivot таблица, как выбрать записи только с нужными id, но не брать остальные?

Здравствуйте!

Есть таблица products_comments

product_id|comment_id
1| 1
2| 1
2| 2

Как можно получить продукт у которого comment_id = 1, но не получать второй продукт, так нужен только с comment_id=1, но comment_id может быть не один, а например WHERE comment_id IN (1,2) и тогда нужно будет вернуть записи у которых есть только comment_id 1 и 2
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@MaximaXXl
select product_id
from products_comments
group by product_id
having max(case when comment_id in (1,2) then 1 else 9 end) = 1


Будет выводить если есть только перечисленные в in (хотябы один)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Artur-Salo
select p.poduct_id from products_comments p
where p.comment_id = 1
and not exists (select * from products_comments q where q.poduct_id = p.poduct_id and comment_id <> 1)
;
Ответ написан
Ваш ответ на вопрос

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

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