Задать вопрос

SQL запрос не работает?

Стоит задача, создание каталога с сортировкой товаров.
Столкнулся с такой проблемой, что если с одной группы а в данном примере это 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
  • Вопрос задан
  • 2624 просмотра
Подписаться 2 Оценить 2 комментария
Ответ пользователя VeMax К ответам на вопрос (3)
@VeMax
Кроме AND есть еще и OR и скобочки, которые указывают приоритет)
Ответ написан