Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server - IN клауза с множество полета

Не по начина, по който сте публикували. Можете да върнете само едно поле или тип за IN на работа.

От 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.

Вместо IN , можете да използвате JOIN като използвате двете полета:

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. Вземете началната и крайната дата на седмицата от номера на седмицата

  2. SQL Server 2014 Инкрементална статистика

  3. Поправете „Грешка при аритметично препълване при преобразуване на IDENTITY в тип данни…“ в SQL Server

  4. Проверете дали съществува временна таблица и изтрийте дали съществува, преди да създадете временна таблица

  5. RODBC odbcDriverConnect() Грешка при свързване