@VaniLuksh

Как сделать запрос SELECT по нескольким значениям одного аргумента?

В БД (mySQL) наличия товаров есть три таблицы:
1) `goods`
- goods_id
- goods_name
2) `range`
-goods_id
-product_id
3) `availaibility`
-product_id
-storage_id
-cost

Нужно выбрать store_id где есть сразу несколько goods_name
Вариант который у меня почему то не работает:
select storage_id from availaibility
   join `range` r on availaibility.product_id = r.product_id
   join goods g on r.goods_id= g.goods_id
where goods_name in ('Игрушки', 'Обои')
group by storage_id having (count(*) = 2)

Хотя в других случаях такая конструкция работает, не могу понять в чем дело.
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Так сделайте EXPLAIN этого запроса, и там скорее всего увидите, что в `range` и/или в `goods` нет записей, удовлетворяющих прописанным в JOIN параметрам.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы