php
  • sql
  • 2009-06-08 2 views 0 likes 
    0

    следующие ошибки, поэтому должны быть неправильно, но то, что это правильный способ сделать это:2 SQL-запросы в одной строке - как?

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

    $ rsPrimary = mysql_query ($ запроса) или умереть ("Query '$ запрос' не удалось с сообщением об ошибке : \ "". mysql_error(). '"'); $ num = mysql_numrows ($ rsPrimary); mysql_close();

    ответ

    7
    SELECT * FROM tblProducts WHERE ProductId ='$SCId' 
                OR (Cat ='$CatType' AND Type ='$TypeType') 
    
    1

    Операция «И» в предложении WHERE ожидает состояние с правой стороны. Вы не можете поставить запрос SELECT.

    2

    кажется мне нравится то, что вы действительно хотите:

    select * from tblProducts 
    where ProductId ='$SCId' 
    or (Cat ='$CatType' AND Type ='$TypeType') 
    
    0

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

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