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
子句的源,或者在公共字段上连接到该表。但除此之外,正如其他人所指出的,您提供的信息不足,无法获得有用的响应。