我有一个数字列表:
100
101
200
201
300
400
500
501
我需要一个t-sql select查询来从上面的列表中返回以下内容:
101
201
300
400
501
有可能吗?
答案 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
)