首页 > 解决方案 > 如何在 Cognos-11 中使用 exceptjoin?

问题描述

我没有在 Cognos-11 中工作的 except 加入。我在哪里或错过了什么?

对这个分支的初学者有一些了解会很好;-)

到目前为止,我尝试的是进行两个查询。第一个包含“客户”、“开始日期”和“目的”等数据项。第二个查询包含“客户”、“地址”和“社区”等数据项。我想要完成的是进入query3:query1 中的“客户”在query2 中不可用。对我来说,这听起来像是一个例外加入。

我去了查询工作区,创建了一个 query3 并在其上拖动了一个“除外加入”图标。然后我将query1拖到上部空间,将query2拖到下部。我习惯于与其他联接一起获得的是设置新链接、基数等的可能性。现在双击加入不会打开任何弹出窗口。except-join 的属性显示“设置操作 = 除外”、“重复项 = 删除”、“投影列表 = 手动”。

如何让 query3 填充仅包含仅出现在 query1 中的客户列表的数据项“客户”?

标签: joincognos-11

解决方案


在 SQL 术语中,您想要

select T2.C1
from T1
  left outer join T2 on T1.C1 = T2.C1
where T2.C1 is null

因此,在 Cognos 报告的查询窗格中...

  • 使用常规连接。
  • 使用来自两个查询的客户加入。
  • 在 query1 端将基数更改为 1..1,在 query2 端将基数更改为 0..1。
  • 在 query3 的过滤器中,为 query2.customer 添加一个过滤器为空。

推荐阅读