我在数据模型中有两个SQL查询,每个查询用于不同的数据源。我正在尝试将一个链接链接到另一个链接,以使创建包含所有列的报告不会排除每个查询中不匹配的值。创建报表时,简单地将元素链接似乎是“内部联接”(不包括在两个查询中都不匹配的值)。我希望在报表创建过程中实质上将一个源与另一个源“左连接”-我想从另一个源显示空值。
当我查看数据模型本身中的数据时(通过“数据”选项卡),将显示空值。我只有在报表创建中遇到这个问题。
我不是DBA,并且具有只读数据库访问权限。我无权使用任何OBIEE桌面工具。
答案 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的情况),该使用某些占位符值代替空值。然后,使用哑列链接两个表。这样,在链接两个查询时,不会在实际列中排除空值。创建报告时,只需排除虚拟列即可。