Выбор элементов по нескольким значениям - MySQL
Формулировка задачи:
Всем привет, так сложилось что теперь редко работаю с mysql - затупил в простом запросе
Есть товар, у него свойства
Хранятся свойства - id элемента, id свойства, значение свойства
как выбрать элементы у которых свойство 44 и 207 равны 11 и 13 соответственно, через AND - логично не работает т.к. значние поля не может быть равно сразу и 11 и 13
набросок:З.Ы. Пардон сразу не добавил, условие может быть как =, так и <= => - привести все в кучу через IN - не получится
SELECT e.`ID` FROM `elements` AS e INNER JOIN `props` AS p ON p.`element_id` = e.`id` WHERE e.`ACTIVE` = 'Y' AND (p.`prop` = '44' AND p.`val` = '11') AND (p.`prop` = '207' AND p.`val` = '13')
Решение задачи: «Выбор элементов по нескольким значениям»
textual
Листинг программы
AND ((p.`prop` = '44' AND p.`val` = '11') OR (p.`prop` = '207' AND p.`val` = '13'))
Объяснение кода листинга программы
В данном коде выполняется запрос к базе данных с условием, что нужно выбрать все элементы, у которых значение двух полей одновременно равно '44' и '11' или '207' и '13'.
p
- это название таблицы или переменной, которая содержит данные для выборки.prop
- это название поля, по которому происходит выборка.val
- это название второго поля, по которому происходит выборка.'44'
- это значение первого поля, по которому происходит выборка.'11'
- это значение второго поля, по которому происходит выборка.'207'
- это значение первого поля, по которому происходит выборка.'13'
- это значение второго поля, по которому происходит выборка. Данный запрос вернет все записи, где значения полей 'prop' и 'val' одновременно равны '44' и '11' или '207' и '13'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д