用于根据计数抑制截面的Crystal语法

时间:2016-08-30 12:59:21

标签: sql count crystal-reports suppression

我需要以下查询的Crystal Reports语法。基本上,如果所有记录都不适用,我想要删除详细信息部分。感谢你的帮助。

if (select count(*) from appendix where is_applicable=0) = (select count(*) from appendix)

1 个答案:

答案 0 :(得分:1)

这很棘手,因为摘要和运行总计只能在记录已经打印后才能进行评估。因此,如果一个SQL表达式是不可能的,我能想到的最简单的方法仍然有点复杂:

  1. 在最深层添加is_applicable的新组。 (在“详细信息”部分旁边。)取消页眉/页脚并按降序排序。
  2. 在“详细信息”部分中,创建一个共享布尔变量,每次在is_applicable旁边打印时都会翻转为True,等于1.每次第二个最深的组更改时,将变量重置为False。
  3. 在详细信息抑制部分中,写入逻辑以抑制共享布尔值是否为True且is_applicable是否等于零。
  4. 正确完成后,应首先打印任何适用的条目,如果未找到,则不会显示不适用的条目