带有多个语句/查询的 IF THEN ELSE 或 CASE 公式

问题描述

我似乎在使用 Crystal Reports 中的组的 SQL 公式碰壁。

这是公式的逻辑: 在 INMAIN 表下,

如果 AGENCY 不等于 WCFD,则向我展示(分组)AGENCY。如果 AGENCY 等于 WCFD,请向我显示(分组依据)DISTRICT。但是,如果 DISTRICT 为 BLANK/NULL,则向我显示(分组依据)PRIMEUNIT。但是,如果 PRIMEUNIT 以“HU”开头,则将其添加到已经存在的代理组“HUFD”中。但是,如果 PRIMEUNIT 以“FL”开头,则将其添加到已经存在的代理组“FLFD”中。等等...

基本上,我正在尝试将所有属于 WCFD 一揽子机构范围内的空白/空区纳入各自的机构。 PRIMEUNIT 是找出特定事件属于哪个机构的好方法。

我开始的公式是:

if{inmain.agency}="WCFD" then {inmain.district} else
{inmain.agency}

这让我得到了一个不错的观点,但是有些地区的值是 BLANK 或 NULL。然后我尝试了以下公式:

if{inmain.agency}="WCFD" then {inmain.district} else
if{inmain.district}="" then {inmain.primeunit} else
{inmain.agency}

但这不起作用,因为它为所有具有空白/空区的机构提供了主要单位,而不仅仅是具有空白/空区的 WCFD 机构。

然而,我的烦恼不止于此。一旦我仅获得 WCFD 事件的主要单位,我将需要执行以下操作:

if{inmain.primeunit} = "HU*" then "HUFD"
if{inmain.primeunit} = "FL*" then "FLFD"

等等。 等等。

我尝试使用 CASE 公式,但没有达到我想要的效果,或者我不太了解如何使用它。

这有意义吗?有任何想法吗?感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...