<sql>如何编辑EXISTS查询</sql>

时间:2013-12-24 02:51:43

标签: sql exists

我有一个具有EXISTS查询的查询,该查询具有PRCS_STE_CD列。 的 QUERY

SELECT          
    PRCS_SNO
          , YEAR
          , SUBSC_CANC_YN                             
    FROM
        TB_POT_ECD_PRCS_INFO INF
    WHERE
        INF.SUBSC_CANC_YN = 'N'
        AND EXISTS (
                   SELECT 'X'
                   FROM TB_POT_ECD_PRCS_HIST HIS
                   WHERE PRCS_STE_CD = 'R01'
                   )

想法只显示PRCS_STE_CD ='R01'。

但问题是有些人对PRCS_STE_CD有'R01'和'R02'。

(在这种情况下,它同时包含R01和R02,我不想在列表中显示它。)

基本上,我想展示一个只有R01的PRCS_STE_CD。

哦,PRCS_STE_CD CAN NOT 只有R02。它必须有R01才能有R02。

同样,当它同时具有R01,R02时,不应在列表中选择它。

有人可以帮忙编辑查询吗?

1 个答案:

答案 0 :(得分:3)

在您的表格中,您如何为PRCS_STE_CD存储R02。我假设您有一个不同的列来存储R02。如果是这样,那么您可以尝试使用IN和OR运算符作为。

SELECT      
    PRCS_SNO, YEAR, SUBSC_CANC_YN                             
    FROM TB_POT_ECD_PRCS_INFO INF
    WHERE INF.SUBSC_CANC_YN = 'N'
    AND 'X' IN (
                SELECT 'X'
                FROM TB_POT_ECD_PRCS_HIST HIS
                WHERE PRCS_STE_CD = 'R01' OR Second_Column= 'R02'
               )