我有以下脚本:-
SELECT
*
FROM
view_pending_comm
WHERE
(ok_to_gen = 'Y' AND comm_type = 'Maya' AND stage <> 3 OR stage <> 6 OR stage <> 9)
OR
(ok_to_gen = 'Y' AND comm_type = 'Sapphire' AND stage <> 2) 我需要做的是返回记录,其中comm_type是玛雅,但不是第3,6或9阶段,也是comm_type是蓝宝石,但不是第2阶段。ok_to_gen需要Y在所有情况下。
我尝试了上面的脚本,但这也会返回记录,其中comm_type是蓝宝石,而stage是2。
发布于 2018-07-02 11:36:17
使用not in
SELECT *
FROM view_pending_comm
WHERE (ok_to_gen = 'Y' AND comm_type = 'Maya' AND stage NOT IN (3, 6, 9)) OR
(ok_to_gen = 'Y' AND comm_type = 'Sapphire' AND stage <> 2) 这个问题是把不平等联系起来的逻辑问题。正确的逻辑是:
stage = 3 or stage = 6 or stage = 9但是,否定使用and。
stage <> 3 and stage <> 6 and stage <> 9https://stackoverflow.com/questions/51135269
复制相似问题