我需要一个查询,但我有一个标准取决于情况。举个例子:
让我们有一个名为table1的表,其中包含名为column1和的列 table2,其列名为column2
在where子句的查询中,我需要通过column1和column2列将table1与table2连接起来。但是,我需要像
那样做if
column1 = 'x' then my criteria must be column1 = column2
else
column1 != 'x'
如何在Oracle中编写where where子句?
感谢您的回答。
答案 0 :(得分:2)
只需使用OR
这样的条件:
WHERE (Column1 <> 'x' OR column1 = column2)
(这是正常的SQL语法。不知道Oracle的语法是否有任何变化。但你可以试试这个逻辑)
编辑: (From OP's comment in my answer)
你可以这样做:
WHERE (column2 != (Select col from table3) OR column1 = 'x')
或者
WHERE (column2 != (Select col from table3) OR column1 = (Select col from table3))
答案 1 :(得分:2)
试试这个
WHERE (Column1 != 'x' OR (Column1 = 'x' AND column1 = column2))