首页 > 解决方案 > 按多列结果搜索

问题描述

使用这样的查询的正确方法是什么?

 SELECT Project_name,
  FROM [Table 1]
  WHERE Project_id in
      (SELECT ID_1, ID_2, ID_3, ID_4, ID_5
       FROM [Table 2])

即通过 2 列或更多列的选择结果进行搜索

标签: sqlsql-serversql-server-2014

解决方案


使用apply

  SELECT Project_name,
  FROM [Table 1]
  WHERE Project_id in
  (SELECT v.value FROM [Table 2]
   cross apply (values(ID_1), 
                      (ID_2), 
                      (ID_3), 
                      (ID_4), 
                      (ID_5))v(value))

推荐阅读