2010-08-05 2 views
3

Table simple:requête SQL pour le nombre annulable supérieur au paramètre

create table Items 
(
    Price money null 
) 

Maintenant, je dois créer une procédure stockée qui accepte un paramter de type bit@ItemsWithPriceTenDollarsOrMore qui:

  1. retourne tous les articles si le paramètre est NULL
  2. Renvoie tous les éléments avec Prix> = 10 si paramètre = 1
  3. retourne tous tems with Price < 10 si paramètre = 0

J'ai du mal à exprimer ce filtre dans une seule instruction where (n'utilisant pas la dynamique SQL ou la logique conditionnelle).

Répondre

5

Essayez celui-ci:

SELECT * FROM Items 
WHERE (@ItemsWithPriceTenDollarsOrMore = 1 AND Price >=10) 
OR (@ItemsWithPriceTenDollarsOrMore = 0 AND Price <10) 
OR (@ItemsWithPriceTenDollarsOrMore IS NULL) 
+0

Belle, merci Pavel. – Valentin

+0

En effet belle. J'ai tapé la mienne avant que je comprenne clairement celui-ci. – Raj

Questions connexes