选择端条件中的排除项

时间:2018-10-18 16:56:00

标签: mysql

我有这个查询1:

        F::template func<std::int8_t>();

        // ...

        F::template func<std::int16_t>();

但是在Query1的末尾,在收集Query1的输出后,我需要排除--

类似这样

"SELECT * FROM `MAIN_TAB` WHERE 

`REFERENCE` IN ('REFERENCE_A','REFERENCE_B','REFERENCE_C') AND 

`STATUS` NOT IN ('STATUS_A','STATUS_B') ORDER BY `REFERENCE` ASC"

也许是我想要的东西,可以是另一个内部的Select或

内部的条件
`"WHERE `REFERENCE` = 'REFERENCE_B' AND ``USER`` NOT In
('JOE','BRIAN','ROGER')"`.

...但是我不知道如何得到它。

1 个答案:

答案 0 :(得分:1)

可能您需要这个:

SELECT *
FROM   `main_tab`
WHERE  `status` NOT IN ( 'STATUS_A', 'STATUS_B' )
       AND ( `reference` IN ( 'REFERENCE_A', 'REFERENCE_C' )
              OR ( `reference` = 'REFERENCE_B'
                   AND `user` NOT IN ( 'JOE', 'BRIAN', 'ROGER' ) ) )
ORDER  BY `reference` ASC