T-SQL从类似组中选择特定数字

时间:2014-11-11 18:58:32

标签: sql-server

我有一个数字列表:

100
101
200
201
300
400
500
501

我需要一个t-sql select查询来从上面的列表中返回以下内容:

101
201
300
400
501

有可能吗?

1 个答案:

答案 0 :(得分:0)

您意识到您几乎没有提供任何人可以用来回答您问题的信息,对吧?我们不知道列表是什么:它是字符串,变量,表中的列或表中的行的列表吗?您是要尝试在列中查看结果,还是会产生多列?

无论如何我都会小心翼翼地回答。如果您在谈论表格(MyTable)中的数字列表,您需要将其与另一个表格中的列表(MyLookupTable)进行比较,那么这三个中的一个将起作用

SELECT *
FROM MyTable 
WHERE MyNumber IN 
  (
    SELECT Number
    FROM MyLookupTable 
  )


SELECT *
FROM 
    MyTable 
     INNER JOIN 
    MyLookupTable ON 
        MyTable.MyNumber = MyLookupTable.Number

SELECT *
FROM MyTable
WHERE EXISTS 
  (
    SELECT 1
    FROM MyLookupTable 
    WHERE MyLookupTable.Number = MyTable.Number
  )