Cú pháp này không tồn tại trong SQL Server. Sử dụng kết hợp And
và Or
.
SELECT *
FROM <table_name>
WHERE
(value_type = 1 and CODE1 = 'COMM')
OR (value_type = 1 and CODE1 = 'CORE')
(Trong trường hợp này, bạn có thể làm cho nó ngắn hơn, vì value_type được so sánh với cùng một giá trị trong cả hai kết hợp. Tôi chỉ muốn hiển thị mẫu hoạt động giống như IN trong oracle với nhiều trường.)
Khi sử dụng IN với một truy vấn con, bạn cần phải diễn đạt lại nó như sau:
Oracle:
SELECT *
FROM foo
WHERE
(value_type, CODE1) IN (
SELECT type, code
FROM bar
WHERE <some conditions>)
Máy chủ SQL:
SELECT *
FROM foo
WHERE
EXISTS (
SELECT *
FROM bar
WHERE <some conditions>
AND foo.type_code = bar.type
AND foo.CODE1 = bar.code)
Có những cách khác để làm điều đó, tùy thuộc vào trường hợp, như liên kết bên trong và những cách tương tự.