Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server T-SQL从相似组中选择特定编号_Sql Server - Fatal编程技术网

Sql server T-SQL从相似组中选择特定编号

Sql server T-SQL从相似组中选择特定编号,sql-server,Sql Server,我有一个数字列表: 100 101 200 201 300 400 500 501 我需要一个t-sql select查询来从上面的列表返回以下内容: 101 201 300 400 501 有可能吗?你意识到你几乎没有提供任何人可以用来回答你问题的信息,对吗?我们不知道列表是什么:它是字符串中的列表、变量、表中的列还是表中的行?您是要在一列中查看结果,还是在多列中查看结果 不管怎样,我都要试着回答。如果您谈论的是一个表(MyTable)中的数字列表,需要与另一个表(MyLookupTabl

我有一个数字列表:

100
101
200
201
300
400
500
501
我需要一个t-sql select查询来从上面的列表返回以下内容:

101
201
300
400
501

有可能吗?

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

不管怎样,我都要试着回答。如果您谈论的是一个表(
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
  )

你能至少解释一下你是如何选择你的结果的吗?我的意思是,我们只是看到了任意数量的争吵,很抱歉。此列表来自我无法更改的查找表。此查找表在哪里?最安全的方法是使用此查找表作为查询的
where
子句的源,或者在公共字段上连接到该表。但除此之外,正如其他人所指出的,您提供的信息不足,无法获得有用的响应。