Diese Syntax ist in SQL Server nicht vorhanden. Verwenden Sie eine Kombination aus And
und Or
.
SELECT *
FROM <table_name>
WHERE
(value_type = 1 and CODE1 = 'COMM')
OR (value_type = 1 and CODE1 = 'CORE')
(In diesem Fall könnten Sie es kürzer machen, da value_type in beiden Kombinationen mit demselben Wert verglichen wird. Ich wollte nur das Muster zeigen, das wie IN in Oracle mit mehreren Feldern funktioniert.)
Wenn Sie IN mit einer Unterabfrage verwenden, müssen Sie es wie folgt umformulieren:
Orakel:
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)
Je nach Fall gibt es andere Möglichkeiten, dies zu tun, z. B. innere Verknüpfungen und dergleichen.