Cette syntaxe n'existe pas dans SQL Server. Utilisez une combinaison de And
et Or
.
SELECT *
FROM <table_name>
WHERE
(value_type = 1 and CODE1 = 'COMM')
OR (value_type = 1 and CODE1 = 'CORE')
(Dans ce cas, vous pouvez le raccourcir, car value_type est comparé à la même valeur dans les deux combinaisons. Je voulais juste montrer le modèle qui fonctionne comme IN dans oracle avec plusieurs champs.)
Lorsque vous utilisez IN avec une sous-requête, vous devez la reformuler comme ceci :
Oracle :
SELECT *
FROM foo
WHERE
(value_type, CODE1) IN (
SELECT type, code
FROM bar
WHERE <some conditions>)
SQL Server :
SELECT *
FROM foo
WHERE
EXISTS (
SELECT *
FROM bar
WHERE <some conditions>
AND foo.type_code = bar.type
AND foo.CODE1 = bar.code)
Il existe d'autres façons de le faire, selon le cas, comme les jointures internes et autres.