点击此处---> 群内免费提供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)
我想看的是实际的投影列表:
在测试中看到的是,对于RIGHT OUTER JOIN,两个输出列(CC_RIGHT和CC_LEFT)的映射是相同的(TO_VARCHAR(DUMMY.DUMMY))。
那不是他期望的结果,据我所知也不是正确的结果(即我认为这是错误的)。
运行等效的SQL查询不会导致此行为。 我已经检查了是否使用"在SQL Engine中执行",结果没有任何差异。
在这种情况下,我建议为此打开一个支持事件。
您可以对两个查询都运行一个解释计划并将其发布在这里吗?
嗨,拉尔斯!
感谢您的配合。左联接视图的解释计划是:
对于右边的一个是这样的
:OPERATOR_NAME OPERATOR_DETAILS OPERATOR_PROPERTIES EXECUTION_ENGINE DATABASE_NAME SCHEMA_NAME TABLE_NAME TABLE_TYPE TABLE_SIZE OUTPUT_SIZE SUBTREE_COST OPERATOR_ID PARENT_OPERATOR_ID TIME_UM PORT_ID STATUS_UM PORT_ID STATUS_TIME ,NULL,"对"? 行? ? ? ? ? 1 0.0000033250868 1? 1 1 jbi-bid00 31,003 Sep 17,2018 8:55:59.035 AM表格扫描 ? 行? SYS DUMMY ROW TABLE 1 1 0.000000041 2 1 2 1 jbi-bid00 31,003 2018年9月17日8:55:59.035 AM除了ROW_SEARCH的" OPERATOR_DETAILS"外,它们对我来说几乎一样。
我希望这会有所帮助!
罗兰,
Lars,你好!
感谢您的配合。左连接视图的解释计划是:
对于右边的是:
我唯一看到的区别是" ROW_SEARCH"的" OPERATOR_DETAILS",但我真的不知道如何解释。
我希望这会有所帮助!
先谢谢,
罗兰。
啦,
谢谢! 我将看看是否可以找到有权举报支持事件的人。 (我自己没有)
一周热门 更多>