Bonjour à tous,

J'ai la requête suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
UPDATE kep_val.dbo.Vars
    SET TmpCycleT = 
        (
          SELECT opcycletime 
          FROM Operations.dbo.cworkoptable b 
             WHERE 
                kep_val.dbo.Vars.cnchandle = b.opcnc 
               AND b.opstate = '1' OR b.opstate = '0'                                           
        )
Qui me retourne le message d'erreur suivant:
Msg 512, Niveau 16, Etat 1, Ligne 1
La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous requête suit 0, !=, <, <=, >, >= ou quand elle est utilisée en temps qu'expression
Si je substitue la ligne "AND b.opstate = '1' OR b.opstate = '0'" par AND b.opstate IN ('1', '0')
cela fonctionne correctement.

Quelle est la différence?

Par avance merci et bonne journée

Cordialement
André