Это таблица virtuemart_product_categories:Выберите продукт, где она принадлежит в 2 различных категорий
Что я хочу сделать, это выбрать virtuemart_product_id где продукт находится в категории: 307 и категории: 383. Что-то вроде этого: (Я знаю, что выражение «AND» полностью неверно набрало его как пример того, что я пытаюсь достичь).
SELECT *
FROM uhhu_virtuemart_products_en_gb AS a
INNER JOIN uhhu_virtuemart_product_categories AS b ON a.virtuemart_product_id=b.virtuemart_product_id
WHERE b.virtuemart_category_id=307 AND b.virtuemart_category_id=383
Есть ли SQL способ достичь этого? Может быть, мне нужно, чтобы создать новую таблицу и каким-то образом сделать отношения? Я думал, что действительно хромой путь, используя некоторые PHP и отделить запросы, но даже если он работает это будет быть действительно сложным и плохим способом кодирования. Спасибо заранее.
Edit: Добавление таблицы products_en_gb также:
Вы пробовали 'OR' вместо' AND'? –
У вас есть правильная форма запроса, вы просто проверяете ту же сторону соединения. У вас есть «где b.id = 307 и b.id = 383», что явно невозможно, поэтому вы не получите никаких результатов. Просто измените одно из значений «b» на «a»: «где a.id = 307 и b.id = 383» – TommCatt