Я застрял на наилучшем пути для выполнения этого запроса MySQL.Данные MySQL должны существовать в двух столбцах, которые будут возвращены
У меня есть три таблицы:
продукты - это список продуктов
id | product_name
кошки - это список категорий
id | category_name
cats_selected - несколько категорий могут быть assig в эту таблицу перечислены
cat_id | product_id
В поиске пользователь может выбрать несколько категорий для поиска сразу. Я хочу проверить, существует ли продукт в каждой категории, поэтому он должен соответствовать cat_id и product_id. Идентификатор cat размещен как массив.
Каков наилучший способ запроса этих данных?
Например, следующее не работает по очевидным причинам:
SELECT *
FROM products
JOIN cats_selected
ON cats_selected.product_id = products.id
AND cats_selected.cat_id = '16372'
AND cats_selected.cat_id = '9'
> = 2, вероятно, лучше? – allen213
@ allen213: Это не обязательно, поскольку есть ** точно ** 2 разных 'cat_id' из-за предложения' where'. –
Не уверен, что я согласен с тем, что он сказал несколько вопросов, а не 2 в вопросительном органе, хотя у данных образца, конечно, есть 2 элемента. Я читаю как минимум два. – allen213