0
votes

Où condition de clause lorsqu'une colonne a une valeur spécifique

Je suis confronté à un problème dans l'endroit où la clause de ma requête: xxx

Je souhaite sélectionner des informations sur le produit, mais si le produit a le type = 1, je veux sélectionner ce produit Si les deux quantités (clients et vendeurs) sont supérieures à zéro.

La clause où j'ai écrite ne fonctionne pas car certains produits ont du type = 1, mais un pour leurs quantités est = 0, mais ils apparaissent toujours dans les résultats de la requête.

Qu'est-ce qui ne va pas avec la clause WHERE?


0 commentaires

4 Réponses :


3
votes
WHERE p.productType <> 1
   OR (p.productType = 1 AND p.quantity_for_customers > 0 AND p.quantity_for_sellers > 0)

0 commentaires

0
votes

Ils se présentent, car le procutType n'est pas nul. Combiné à la ou chaque entrée d'entrée montre que STATISFIES La condition ProductType n'est pas nulle.

Pour réaliser ce que vous voulez essayer: P>

WHERE p.productType IS NOT NULL AND
  (p.productType <> 1
  OR 
  (p.productType = 1 AND p.quantity_for_customers > 0 
      AND p.quantity_for_sellers > 0)
  )


0 commentaires

0
votes

J'ai édité l'affichage de la clause WHERE dans votre question pour montrer les pièces plus clairement.

Il montrera un produit est:

  • ProductType n'est pas NULL

    ou

    • ProductType est 1 et les deux quantités sont> 0

      Donc tout avec un produit qui n'est pas null sera sélectionné.


0 commentaires

0
votes

Votre état peut être simplifié à ceci: xxx

voir un Demo .


0 commentaires