首页 > 解决方案 > 在 Oracle (Column_A,Column_B) IN (M,M) 中将 IN 与多个值一起使用

问题描述

我正在尝试根据两个值过滤掉记录。

我正在使用的表有学生帐户。我正在查看的两列应满足以下条件。

请让我知道如何用 SQL 编写它。

标签: sqloracle

解决方案


我会将您的逻辑表达为:

SELECT *
FROM yourTable
WHERE
    (
        Column_A IN (1310001,1320002,4520004,6170004) AND
        Column_B NOT IN (1310001,1320002,4520004,6170004) AND
        NOT REGEXP_LIKE(Column_B, '^(12|119|03|02)')
    ) AND
    (
        Column_B IN (1310001,1320002,4520004,6170004) AND
        Column_A NOT IN (1310001,1320002,4520004,6170004) AND
        NOT REGEXP_LIKE(Column_A, '^(12|119|03|02)')
    );

推荐阅读