Execption sql

Bonjour,
J'ai programmé mon application de gestion de prise en charge pour des réparations, seulement, il y a certaines pièces qui sont adapté à un modèle de téléphone, mais pas à la couleur.
Ma requête suivante me fournis les pièces qui répondent au modèle, à la couleur et à une quantité positive, par contre j'aimerai quel me fournisse aussi les pièces qui sont adaptable à ce modèle, ces pièces ont comme couleur "standard".

$requete_stock = "select * from stock S, piece P where P.idpiece=S.idpiece and S.idmodele='$idmodele' and S.couleur='$couleur' and S.quantite>=1;";

Pour la requête qui me permet d'afficher aussi les pièces couleur standard (exemple batterie qui est adaptable à un modèle mais la couleur n'importe pas) j'avais imaginer ça :

$requete_stock = "select * from stock S, piece P where P.idpiece=S.idpiece and S.idmodele='$idmodele' and S.couleur='$couleur' or couleur='Standard' and S.quantite>=1;";

Mais il me sort quasiement tous mon stock ça ne convient pas.

Avez vous une idée de comment je dois tourner ma requête ?
Cordialement,

2 réponses

  1. Normal, ta requete te retourne toutes les pièces qui correspondent a ton modèle et toutes les pièces qui correspondent a la couleur $couleur.

    $requete_stock = "select * from stock S, piece P where P.idpiece=S.idpiece and S.idmodele='$idmodele' and S.couleur='$couleur' and S.quantite>=1;";

    met plutôt ça :
    $requete_stock = "SELECT * FROM stock S, piece P WHERE P.idpiece=S.idpiece AND S.idmodele='$idmodele' and S.quantite>0
    UNION
    ( SELECT * FROM stock S, piece P WHERE P.idpiece=S.idpiece AND S.couleut='$couleur' AND S.quantite>0 ) ";

    Exprime toi clairement, et ta réponse sera rapide
    1
    1. corrigé dans
      UNION
      ( SELECT * FROM stock S, piece P WHERE P.idpiece=S.idpiece AND S.couleut='$couleur' AND S.quantite>0 ) ";

      couleur ;)
      0
    2. c'est l'intention qui compte ;)
      0
    3. Oui, merci beaucoup
      0
  2. C'est pas la première fois que je suis face à ce problème et la, je comprends enfin comment y faire face, merci piur vos réponse, ca m'a grandement aidé et m'a appris une chose !
    Cordialement
    0