Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server - klauzula IN z wieloma polami

Nie w taki sposób, w jaki pisałeś. Możesz zwrócić tylko jedno pole lub wpisać dla IN do pracy.

Z MSDN (IN ):

test_expression [ NOT ] IN 
    ( subquery | expression [ ,...n ]
    ) 

subquery - Is a subquery that has a result set of one column. 
           This column must have the same data type as test_expression.

expression[ ,... n ] - Is a list of expressions to test for a match. 
                       All expressions must be of the same type as 
                       test_expression.

Zamiast IN , możesz użyć JOIN za pomocą dwóch pól:

SELECT U.* 
FROM user U
  INNER JOIN userType UT
    ON U.code = UT.code
    AND U.userType = UT.userType


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj FILEGROUP_ID(), aby zwrócić identyfikator grupy plików w SQL Server

  2. Pule połączeń w .NET/SQL Server?

  3. Unpivot z nazwą kolumny

  4. Różnica między JOIN a INNER JOIN

  5. SQL Server 2016:Utwórz tabelę