如何在OBIEE 11g数据模型中有效地“外部联接”两个数据源(SQL查询)?

时间:2018-08-08 01:35:19

标签: sql database oracle11g obiee

我在数据模型中有两个SQL查询,每个查询用于不同的数据源。我正在尝试将一个链接链接到另一个链接,以使创建包含所有列的报告不会排除每个查询中不匹配的值。创建报表时,简单地将元素链接似乎是“内部联接”(不包括在两个查询中都不匹配的值)。我希望在报表创建过程中实质上将一个源与另一个源“左连接”-我想从另一个源显示空值。

当我查看数据模型本身中的数据时(通过“数据”选项卡),将显示空值。我只有在报表创建中遇到这个问题。

我不是DBA,并且具有只读数据库访问权限。我无权使用任何OBIEE桌面工具。

Example

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在query1和query2之间使用简单的左联接

select q1.name,q2.name from  query1 q1 left join query2 q2
on q1.num=q2.num2
order by q1.name

http://sqlfiddle.com/#!4/ef642/3

NAME    NAME2
ExA1    ExB1
ExA2    
ExA3    
ExA4    
ExA5    ExB4

答案 2 :(得分:0)

弄清楚了。技巧是通过UNION向第二个表中添加一个“虚拟行”,并在第一个表中创建一个“虚拟列”(通过CASE WHEN列为NULL的情况),该使用某些占位符值代替空值。然后,使用哑列链接两个表。这样,在链接两个查询时,不会在实际列中排除空值。创建报告时,只需排除虚拟列即可。