En ce moment, j'ai:
WHERE flag_1 NOT IN ("D") AND flag_2 NOT IN ("D")
J'ai deux groupes de personnes travaillant sur les mêmes données, et une fois qu'un groupe est terminé, ils le "marqueront" D code >, mais le rapport devra toujours extraire les informations jusqu'à ce que LES DEUX soient marqués
D
.
À l'heure actuelle, le rapport exclut les données si l'un ou l'autre est marqué D code>, mais je ne veux l'exclure que lorsque les deux aspects sont complétés et marqués
D
.
Des conseils?
3 Réponses :
Je souhaite l'exclure uniquement une fois que les deux aspects sont terminés et marqués "D".
Cela se traduirait par:
WHERE NOT (flag_1 = 'D' AND flag_2 = 'D')NB: je ne vois pas le point pour l'opérateur
IN
avec une seule valeur dans la liste , alors je suis passé à un simple=
.
Ou vous pouvez le traduire en WHERE flag_1 <> 'D' AND flag_2 <> 'D'
. Vous pouvez utiliser la condition SQL IN
(parfois appelée l'opérateur IN
) si vous souhaitez tester facilement si une expression correspond à une valeur dans une liste de valeurs. Dans votre cas, vous n'avez qu'une seule valeur à évaluer.
NOT
est une négation, <> (différent de)
est un opérateur de comparaison, ils sont tous deux au standard ISO. Et n'ayez aucune différence de performance.
WHERE flag_1 <> 'D' OR flag_2 <> 'D' If you want the report to continue to pull the records until both flags are at 'D', checking the flags that don't equal 'D' will pull them into the set.
Veuillez fournir des exemples de données.
Que diriez-vous de
«D» dans (flag_1, flag_2)
? Vous devriez probablement consulter les lois de De Morgan.