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

    Les erreurs suivantes, doit donc être mauvais, mais quelle est la bonne façon de le faire:2 requêtes SQL en une ligne - comment?

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

    $ rsPrimary = mysql_query ($ query) ou die (" '$ query' requête a échoué avec le message d'erreur : \ "". mysql_error(). '"'); $ num = mysql_numrows ($ rsPrimary); mysql_close();

    Répondre

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

    L'instruction 'AND' de votre clause WHERE attend une condition sur son côté droit. Vous ne pouvez pas placer une requête SELECT là.

    2

    Attend à moi comme ce que vous voulez vraiment est:

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

    Les réponses déjà données sont correctes pour votre requête, si, dans l'avenir, vous voulez ajouter les résultats de deux ou plus sélectionnez des déclarations ensemble, vous devriez jeter un oeil à UNION ou UNION ALL. Donc votre requête originale aurait fonctionné si vous avez remplacé votre premier et avec UNION. UNION supprime les doublons des résultats, UNION ALL ne l'est pas et est donc plus rapide.

    Questions connexes