• sqlserver – SQL Server – 包含多个字段的IN子句


    是否可以在IN子句中包含多个字段?类似于以下内容:

    select * from user
    where code,userType in ( select code,userType from userType )

    我正在使用ms sql server 2008

    我知道这可以通过连接和存在来实现,我只是想知道它是否可以用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.

    您可以使用以下两个字段来使用JOIN而不是IN:

    SELECT U.* 
    FROM user U
      INNER JOIN userType UT
        ON U.code = UT.code
        AND U.userType = UT.userType
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    游记&退役记
    Nothing to say
    学习知识点的比较好的blog
    计划做题列表
    后缀自动机小专题
    复数
    FFT学习
    P2900 [USACO08MAR]土地征用Land Acquisition
    # 数位DP入坑
    Hdu 4035 Maze(概率DP)
  • 原文地址:https://www.cnblogs.com/jijm123/p/15784000.html
Copyright © 2020-2023  润新知