les avoir dans votre requête, comme suit:
SELECT * FROM MyTable
WHERE [email protected]
And (Not Condition1 Or col2 = @val2)
And (Not Condition2 Or col3 = @val3)
Donc, si Non Non Condition1 (ce qui signifie: Condition1 est vrai) alors col2 (doit) = @ val2 .
(j'ai changé la 2ème logique conditionnelle ET col3 = @ val3, parce que vous aviez répété et col2 = @ val2)
Modifier en réponse à des commentaires: Donnez-moi un exemple des critères pour condition1. Explicit si la syntaxe n'est pas utilisée dans les requêtes dans t-sql. Disons que les «ordres précédents» doivent être inférieurs à 20 pour que le premier critère compte, et. . . le deuxième critère à des questions s'il n'y a pas de prénom. Ce serait:
SELECT * FROM MyTable
WHERE [email protected]
And (MyTable.OrderCount > 19 Or col2 = @val2)
And ((Not MyTable.FirstName Is Null) Or col3 = @val3)
Ne pensez pas en termes de ceci "ce critère est important si cette situation est vraie". Tous les facteurs importants entrent dans la clause where. Vous devez comprendre l'Or/Et/Non et les ordres d'opération. Cela prend de la pratique pour devenir bon. Si vous devez y réfléchir pendant quelques minutes, ne vous inquiétez pas, il en est de même pour le reste d'entre nous.
Des réponses ont-elles été utiles? :) –