2013-08-06 5 views
-3

Когда я пытаюсь запустить эти запрос,Как использовать два условия?

Select * from products p, products_to_categories pc 
where p.product_id = pc.product_id and pc.category_id ='.$category_id.' 
where p.status=1 

Приступаем к следующей ошибке

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «где p.status = 1» в строке 1

+2

Да, это было бы плохо ... Не используйте 'where' после' where', как это. –

+2

Попробуйте либо 'где p.product_id = pc.product_id, и pc.category_id = '. $ Category_id.' И p.status = 1' OR 'где (p.product_id = pc.product_id и pc.category_id = '. $ Category_id.') ИЛИ p.status = 1' в зависимости от того, что истинно. – dash

+0

В запросе вы можете иметь только «WHERE». Используйте 'AND' или' OR'. –

ответ

1

Для вывода дополнительных условий использования and/or вместо другого where.

Select * 
from products p 
inner join products_to_categories pc on p.product_id = pc.product_id 
where pc.category_id = '.$category_id.' 
and p.status = 1 

Кроме того, вы можете использовать синтаксис соединения.

+3

или 'or' ..... –

+0

Его работа хорошая, точно так же, как я хочу спасибо за помощь –

+0

@echo_Me: Я на самом деле прямо сейчас в свой отпуск :) –

0

Вы можете использовать только один раз. Затем следует соблюдать и

ВЫ КОД:

WHERE p.product_id = pc.product_id AND pc.category_id ='.$category_id.' AND p.status=1 
0

ИНЕКЕ состоит только из одного WHERE с последующим каскадными условиями (сцепленных с использованием Андами, ОШ и скобок, чтобы заставить приоритет между указанными условиями).

WHERE p.product_id = pc.product_id 
AND pc.category_id = '.$category_id.' 
AND p.status = 1 
0
Select * from products p 
inner join products_to_categories pc 
on p.product_id = pc.product_id 
where pc.category_id ='.$category_id.' 
and p.status=1 

Чтобы получить гораздо больше Perfomance заявления (особенно если у вас есть много строк) я рекомендую использовать JOIN пункт. Его самый быстрый подход, насколько это возможно, а также против вашего более читаемого человеком.

Для выбора обычно используются ключевые слова AND, OR Вы должны прочитать this article.

Смежные вопросы