2014-01-29 53 views
-2

我想检查where条款中的两个条件。oracle查询中的IF语句(不是PL/SQL)?

请看下面的例子。

where .... and (
(x = y and flag = 'N') or if(x<>y) flag = 'Y') 

我想这是在一个oracle sql语句中完成的。我不能创建一个程序。

编辑: 我重新构建了查询。 flag 'Y'仅在x not equal to Y时才被选中。

+1

这不只是'..和((X = Y和标志等 'N')或(如果x <> y和国旗像'Y'))'? – user2864740

+0

是,删除如果,回答你的问题,像在你的语句是一个等于操作。 –

+0

以前对于错误的问题抱歉。我不确定我的要求。 – Freakyuser

回答

2

where .... and ((x = y and flag ='N') or (x<>y and flag ='Y'))

尝试这个......

+0

谢谢你的问题。我编辑了这个问题。我的要求是另一回事,最初我没有正确理解。 – Freakyuser

+0

@Freakyuser:这是您的要求的答案 –

0
where .... and flag = case when x = y then 'N' else 'Y' end