Db2 SQL 根据大量数据选择排除行的行
Posted
技术标签:
【中文标题】Db2 SQL 根据大量数据选择排除行的行【英文标题】:Db2 SQL Select rows with excluding rows based on large number of data 【发布时间】:2021-03-13 10:54:45 【问题描述】:我有以下查询从表中获取数据以根据条件排除报告
Select ACCOUNTNO, EFFECTIVE_DATE, RATEPERCENTAGE
FROM TESTXY.ACCINFODET
WHERE
EFFECTIVE_DATE > '2021-01-01'
AND ACCOUNTNO NOT IN
(
00000005367890,
00000005378912,
00000007326741,
.
.
.
.
00000089237410,
)
ORDER BY ACCOUNTNO;
排除条件数据范围从 600 到 2K 帐号 你能建议最好的尝试方法吗
非常感谢!
【问题讨论】:
ACCOUNTNO 列的数据类型是什么?如果它是 CHAR 或 VARCHAR(所以是字符串),那么您需要将 ACCOUNTNO 值放在引号中...所以 ACCOUNTNO NOT IN ('00000005367890','00000005378912'...) 您的查询有什么问题?您的问题似乎缺乏问题。 这个查询工作正常。我正在寻找更好的方法来运行它,就 db2 性能而言,排除条件是每个报告的必然变化。谢谢 【参考方案1】:将要排除的帐号加载到单独的单列表中,然后在您的 not in 子句中使用子选择:
...
AND ACCOUNTNO NOT IN
( SELECT * FROM TESTXY.EXCLACCTNOS )
警告:未经测试。
【讨论】:
以上是关于Db2 SQL 根据大量数据选择排除行的行的主要内容,如果未能解决你的问题,请参考以下文章