MYSQL Сложный оператор выбора запроса

0

Нажмите, чтобы посмотреть изображение

У меня 3 продукта. 76,77,78. Я хочу вернуть строки, которые имеют разные спецификации_id, но ВСЕ продукт должен иметь этот спецификатор_id.

Например: на изображении выше, 76, 77, 78 каждый имеет спецификацию_ид из 1. Я хотел бы вернуть эту строку.

Но в примере product_id есть 76, где у него есть спецификация_id из 2, остальные два продукта (77,78) не имеют спецификации_id = 2.

Я знаю, как это сделать, используя ряд циклов ect, но мне любопытно, есть ли более короткий путь в mysql.

Скажите, что в этой таблице было несколько строк, и я хотел, чтобы все продукты, которые имели одинаковые спецификации_id, во всех трех продуктах.

Теги:

1 ответ

1
Лучший ответ

Если я правильно понял ваш вопрос, это должно сделать это:

select * from myTable where specifications_id in
( 
   select specifications_id from myTable 
   having count(specifications_id) > 2
 )
  • 0
    Я только что попробовал этот запрос и получил 0 результатов.
  • 0
    что вы получаете, когда запускаете внутренний запрос? вместо этого попробуйте "иметь количество (спецификационный_идентификатор)> 2".
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню