SQL:多个Where条件

SQL: Multiple Where Conditions

如果满足以下任一条件,我想 select 我的 table 中的以下行:

例如,这意味着结果 table 可以有 var_2 = 2,前提是 var_1 <> 1,0。同理,var_1可以等于1或0,前提是var_2 <>2.

我尝试编写以下 SQL (Netezza) 命令:

select * from my_table where( ("var_1" <> 1 AND "var_1" <> 0 ) OR ("var_2" <>2 ) )p;

但是,这将返回违反此条件的行,例如:

  var_1 var_2
1     1     2
2     0     2

有人可以告诉我如何更正这个问题吗?

谢谢!

默认情况下,双引号内的字符是字符串文字,因此不要在双引号内指定列。

select * from my_table where( (var_1 <> 1 AND var_1 <> 0 ) OR (var_2 <>2 ) );