Essa sintaxe não existe no SQL Server. Use uma combinação de
And
e Or
. SELECT *
FROM <table_name>
WHERE
(value_type = 1 and CODE1 = 'COMM')
OR (value_type = 1 and CODE1 = 'CORE')
(Neste caso, você poderia torná-lo mais curto, porque value_type é comparado ao mesmo valor em ambas as combinações. Eu só queria mostrar o padrão que funciona como IN no oracle com vários campos.)
Ao usar IN com uma subconsulta, você precisa reformulá-la assim:
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)
Existem outras maneiras de fazer isso, dependendo do caso, como junções internas e similares.