Esta sintaxis no existe en SQL Server. Usa una combinación de And
y Or
.
SELECT *
FROM <table_name>
WHERE
(value_type = 1 and CODE1 = 'COMM')
OR (value_type = 1 and CODE1 = 'CORE')
(En este caso, podría acortarlo, porque value_type se compara con el mismo valor en ambas combinaciones. Solo quería mostrar el patrón que funciona como IN en Oracle con varios campos).
Cuando use IN con una subconsulta, debe reformularla así:
Oráculo:
SELECT *
FROM foo
WHERE
(value_type, CODE1) IN (
SELECT type, code
FROM bar
WHERE <some conditions>)
Servidor SQL:
SELECT *
FROM foo
WHERE
EXISTS (
SELECT *
FROM bar
WHERE <some conditions>
AND foo.type_code = bar.type
AND foo.CODE1 = bar.code)
Hay otras formas de hacerlo, según el caso, como uniones internas y similares.