Nubcoder32
Доброго времени суток. Нужна помощь с запросом mySql
Есть таблица:Нужно сделать выборку: Найти variation_id, у которого product_id 3909, есть attr_id 10153 и attr_id 4962
Drunkenmunky
В том приложении, из которого вы добавили сриншот, есть вкладка поиск.
Заполните необходимые поля для поиска и нажмите кнопку.
Чуть выше результатов поиска будет выведен использованный SQL
Nubcoder32
Спасибо за ответ, но я не пойму как правильно заполнить поиск
Drunkenmunky
Если поиск по конкретному значению, то в поле выбора укажите «=»
Если только часть значения, то «%LIKE%»
Nubcoder32
Мне нужно такое
Код (Text):
SELECT * FROM `attributevariation` WHERE `product_id` = 3909 AND `attr_id` = 9567 AND `attr_id` = 4962Но вернет пустое значение
Drunkenmunky
Значит что-то не так с запросом. Или типом данных в таблице.
Попробуйте заключить искомое в одинарные кавычки.
Во вкладке SQL
don.bidon
на
Код (Text):
AND `attr_id` IN (9567, 4962)замените и подумайте, что Вы написали.
Nubcoder32
Спасибо за ответ, это я пытался так описать что мне нужно.
Код (Text):
SELECT variation_id FROM attributevariation WHERE product_id=’3909′ AND attr_id IN(‘9567′,’5112’)Вернет все, где встречаются эти параметры, а мне нужно получить variation_id, к которому есть все заданные атрибуты, а такой запрос возвращает если есть хотя бы один из перечисленных атрибутов
Drunkenmunky
Код (Text):
….WHERE `product_id` = 3909 AND `attr_id` IN (10153, 4962)А, ответили уже.
Sail
Тут ещё группиновка нужна и проверка на количество строк в выборке.
Например:Код (SQL):
SELECT variation_id FROM attributevariation WHERE product_id=‘3909’ AND attr_id IN(‘9567’,‘5112’) GROUP BY variant_id HAVING COUNT(*) = 2;