0

我将尝试在不太混乱的情况下说出这个问题。

我们有一份报告,希望向每位患者及其保险情况展示。患者记录中的每项保险都是按订单号编号的。但是,我们不仅要展示这一点;我想输入某些标准,以便如果保险 A 在患者 ID 下的订单号为 1,则显示该患者的所有保险。如果患者没有订单号 1 中的保险 A,请勿在报告中显示该患者或他们的任何信息。

在下面的代码中,担保人指的是保险。所以订单号和担保人名称是我们关注的重点。这是我为 Suppress 选项放入 Section Expert 的代码。我假设如果它符合标准,TRUE 将抑制信息,否则 FALSE 将允许信息。但是,这还不够,因为它会抑制所有其他信息。

if {billing_guar_order_no_ep.guarantor_order_number}  = "1" AND
{billing_guar_order_no_ep.guarantor_name} = "Medicare" then
    false
else
    true

我假设它需要遍历或循环遍历每个患者,如果找到此信息,列出患者的所有信息并继续前进,否则压制并继续前进。我希望这是有道理的。

例子:

|Patient ID|Order Number|Guarantor Name|
| -------- | ---------- | ------------ |
|1         |           1|Medicare      |
|1         |           2|Medicaid      |
|2         |           1|Medicaid      |
|2         |           2|Medicare      |

在上面的示例中,我希望报告显示来自 Patient #1 的所有内容(包括所有订单号),甚至不在报告中显示 Patient #2。然而,发生的事情是 1 号病人确实出现了,但只有 1 号订单;它抑制了所有其他信息。

我错过了什么?

4

1 回答 1

0

您想要的查询将对此进行改编:

select *
from data d
where not exists (
  select 1
  from data
  where pat_id=d.pat_id
  and   order_id=1
  and   guarantor_name='Medicaid'
)

“链接专家”不支持此语法,因此您需要使用命令。

过程:

  • 通过选择 Database | 获取当前查询 显示 SQL 查询...
  • 创建新报告
  • 从数据库专家中选择“添加命令”
  • 粘贴查询,然后调整它
于 2016-03-10T14:50:17.423 回答