HANA计算视图:正确的联接返回错误的结果?

2020-09-13 13:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我创建了(类别DIMENSION...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我创建了(类别DIMENSION)的计算视图CA_LEFT_JOIN,如下所示:

数据源是DUMMY表,并选择1行和1列,也称为DUMMY,其中包含字母'X'。

在数据源上进行了两个投影(左和右)。

"左"投影添加了一个计算列" CC_LEFT",该列仅从投影"基础"中选择了DUMMY列。 ; " right"投影创建一个计算所得的列" CC_RIGHT",它是常量字符串文字'Y'。

join是left的" left external"。CC_LEFT= rightCC_RIGHT。

如果我 在数据预览中查看,然后得到1行,其中CC_LEFT为'X',CC_RIGHT为null。

现在,我有另一个视图CA_RIGHT_JOIN,它类似于CA_LEFT_JOIN,但是联接现在是右联接; 同样,CC_RIGHT现在选择DUMMY列,CC_LEFT现在选择字符串文字'Y'

如果我查询此视图,我也会得到1行,现在CC_LEFT和CC_RIGHT都返回值'X' 。 我会期望的。 我期望CC_RIGHT为'X',CC_LEFT为NULL。

有人可以解释为什么CA_RIGHT_JOIN视图具有这种行为吗?

(78.9 kB)
5条回答
ZJXianG
2020-09-13 14:30

我想看的是实际的投影列表:

左外
 TO_VARCHAR(DUMMY.DUMMY),NULL,'左',NULL

 右外
 TO_VARCHAR(DUMMY.DUMMY),TO_VARCHAR(DUMMY.DUMMY),NULL,'右'
 

在测试中看到的是,对于RIGHT OUTER JOIN,两个输出列(CC_RIGHT和CC_LEFT)的映射是相同的(TO_VARCHAR(DUMMY.DUMMY))。

那不是他期望的结果,据我所知也不是正确的结果(即我认为这是错误的)。

运行等效的SQL查询不会导致此行为。 我已经检查了是否使用"在SQL Engine中执行",结果没有任何差异。

在这种情况下,我建议为此打开一个支持事件。

一周热门 更多>

相关问答