过滤多个数字

时间:2018-12-26 15:25:35

标签: sql oracle

我想从Oracle数据库中获取一些数据到Power QUery(Excel)。 我正在用sql语句来管理它。 有10列(共50列)和数百万行。我需要过滤一些数据/列。评论只是一些数字,例如: 100258 100256 100333 100055

这只是SAP成本中心

现在我只有一个Where语句,其中包含22个不同的数字。

WHERE column1 = 100256,
      column1 = 100258, ....

也许有更优雅的方式吗? 也许像数组?

最好的问候 约书亚

2 个答案:

答案 0 :(得分:5)

例如,您可以使用WHERE IN

WHERE column1 IN(100256, 100258, ...)

如果您希望拥有比IN支持的值更多的值(我认为是1000),那么可以考虑创建一个表来存储这些值,例如将table1列为val 。然后,您可以使用:

WHERE column1 IN (SELECT val FROM table1)

您还可以考虑加入table1,具体取决于您的实际查询是什么。

答案 1 :(得分:0)

使用with子句:

 With numbers as (
 Select 100256,100258 As number From dual
 )

 From table1,numbers
 Where column1 = numbers.number