2 SQL-запроса в одну строку - как? - PullRequest
0 голосов
/ 08 июня 2009

Следующие ошибки, поэтому должны быть ошибочными, но как правильно это сделать:

$query = "SELECT * FROM tblProducts WHERE ProductId ='$SCId' AND SELECT * FROM tblProducts WHERE Cat ='$CatType' AND Type ='$TypeType'";

$ rsPrimary = mysql_query ($ query) или умереть («Query« $ query »не выполнен с сообщением об ошибке: \» «. mysql_error (). '») $ Num = mysql_numrows ($ rsPrimary); mysql_close ();

Ответы [ 4 ]

7 голосов
/ 08 июня 2009
    SELECT * FROM tblProducts WHERE ProductId ='$SCId' 
                                  OR (Cat ='$CatType' AND Type ='$TypeType')
2 голосов
/ 08 июня 2009

Похоже, что вы действительно хотите:

select * from tblProducts
where ProductId ='$SCId'
or ( Cat ='$CatType' AND Type ='$TypeType' )
1 голос
/ 08 июня 2009

В операторе AND в предложении WHERE ожидается условие с правой стороны. Вы не можете разместить там запрос SELECT.

0 голосов
/ 08 июня 2009

Ответы, которые уже даны, являются правильными для вашего запроса, однако, если в будущем вы хотите добавить результаты двух или более операторов select вместе, вам следует взглянуть на UNION или UNION ALL. Таким образом, ваш оригинальный запрос сработал бы, если бы вы заменили свой первый и на UNION.
UNION удаляет дубликаты из результатов, UNION ALL - нет, и поэтому работает быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...