我正在尝试调整我的查询,以考虑复合条件语句,即:
({tablea.fielda} <> 5566 And Not ({tablea.fieldb} like '%889009%))
最初的问题是Crystal会接受该语句并删除外括号,然后相互独立地执行这些语句。我认为我已经解决了问题,将整个语句放在一个"NOT“语句中,并颠倒条件,如下所示:
Not ({tablea.fielda} = 5566 And ({tablea.fieldb} like '%889009%))
尽管水晶确实颠倒了条件,并将条件分组,但它现在将中心and
更改为or
。
这是一个在我之前创建的报告,我正在修改它,因此,我不想创建一个视图或存储过程,这会导致我返回并更改报告中的所有字段。有什么想法吗?
发布于 2012-04-25 05:54:53
您的第二个代码片段是处理此问题的正确方法之一。
Not ({tablea.fielda} = 5566 And ({tablea.fieldb} like '%889009%))
Crystal只是通过De Morgan's Law简化了语句。
{tablea.fielda}<>5566 or {tablea.fieldb} not like '%889009%
逻辑是等价的。
https://stackoverflow.com/questions/10305457
复制相似问题