Стоит задача, создание каталога с сортировкой товаров.
Столкнулся с такой проблемой, что если с одной группы а в данном примере это atributes.names и AND atributes.value нужно получить разные данные.
Составил SQL запрос, тот что ниже. Беда в том что как я понял нельзя с одной и тоже группы брать несколько значений типа следующего:
AND atributes.names = "Производитель"
AND atributes.value IN ('ZOTAC','PALIT','ASUS')
AND atributes.names = "Графический процессор"
AND atributes.value IN ('nVidia GeForce GTX 660')
Так как мне выбрать эти значения, и что бы они были все обязательные, а не как в случаи с IN (value1,value2) где если нет value2 то он вернет value1.
Помогите составить sql запрос соответствующий вышеуказаным требованиям.
Сам полный запрос ниже.
SELECT * FROM `catalog`
LEFT OUTER JOIN atributes ON catalog.art = atributes.art
WHERE catalog.catalog_3 = "Видеокарты"
AND catalog.price != "0"
AND catalog.avail != "0"
AND atributes.names = "Производитель"
AND atributes.value IN ('ZOTAC','PALIT','ASUS')
AND atributes.names = "Графический процессор"
AND atributes.value IN ('nVidia GeForce GTX 660')
ORDER BY price ASC LIMIT 0, 15