1

我正在尝试调整我的查询以考虑复合条件语句,即:

({tablea.fielda} <> 5566 And Not ({tablea.fieldb} like '%889009%))

最初的问题是 Crystal 会采用该语句并删除外部括号并彼此独立地执行语句。我认为我可以通过将整个语句放在“NOT”语句中并颠倒条件来解决问题,如下所示:

 Not ({tablea.fielda} = 5566 And ({tablea.fieldb} like '%889009%))

尽管 Crystal 确实反转了条件并将条件分组,但它现在正在将中心更改andor.

这是在我刚刚修改之前创建的报告,因此,我不想创建会导致我返回并更改报告中的所有字段的视图或存储过程。有任何想法吗?

4

1 回答 1

2

您的第二个代码片段是(其中一种)处理此问题的正确方法。

Not ({tablea.fielda} = 5566 And ({tablea.fieldb} like '%889009%))

水晶只是通过德摩根定律简化了陈述。

{tablea.fielda}<>5566 or {tablea.fieldb} not like '%889009%

逻辑是等价的。

于 2012-04-24T21:54:52.717 回答