联接表并查看以获取匹配的记录

2020-09-12 15:14发布

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

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


我有一个现有的报告,其中包含"代码"列,其中包含D5520,D3450等值,以及一个"视图"(由我新创建),该视图可能具有对应的D5520或M 5520或两者皆有,或者没有,对于所有代码值(每一个都如此) 代码可能具有匹配的0-3值)。 如何连接表和视图,以便结果集将视图中的所有记录都带入其中代码可能为D5520或M 5520的地方。

谢谢您的任何建议或提示。

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

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


我有一个现有的报告,其中包含"代码"列,其中包含D5520,D3450等值,以及一个"视图"(由我新创建),该视图可能具有对应的D5520或M 5520或两者皆有,或者没有,对于所有代码值(每一个都如此) 代码可能具有匹配的0-3值)。 如何连接表和视图,以便结果集将视图中的所有记录都带入其中代码可能为D5520或M 5520的地方。

谢谢您的任何建议或提示。

付费偷看设置
发送
5条回答
compass1988
1楼-- · 2020-09-12 16:05

您是否要显示原始报告中的所有数据并确定在新视图中有记录的数据? 还是只想从新视图中提取数据?

-Dell

哎,真难
2楼-- · 2020-09-12 15:59

所以我需要做的是-检查是否有至少1行对应于 D或M代码值,然后设置一些条件。 我尝试了外部联接,并在"报告"中将记录过滤器设置为如下所示。 在我的视图中,我添加了2个虚拟列,一个虚拟列仅包含代码的第一个字符,其他虚拟列包含数字。 像这样:

VIEW列:

code CodeC CodeN

D3352 D 3352

以及其他现有的过滤条件中,我添加了此子句:
{PROCEDUR_COVERIT_VIEW.CODEN} = Right({TXPTX.Code},4)

正在发生的事情是:应该显示的代码值(来自表)被弄乱了。

路亽曱_Ryan
3楼-- · 2020-09-12 16:02

部分原因在于外部联接的工作方式。 当您使用外部联接并希望显示" from"表的所有记录,但同时还要过滤" to"表(在您的情况下为视图)时,需要在其中检查null 除了设置条件外,还可以使用to表。 因此,您可以将过滤条件更改为以下形式:

(
   IsNull({PROCEDUR_COVERIT_VIEW.CODEN})或
   {PROCEDUR_COVERIT_VIEW.CODEN} =正确({TXPTX.Code},4)
 )

请注意该语句周围的括号-必须使用括号才能使其正常工作。 另外,IsNull必须在检查值之前出现。

落灬小鱼
4楼-- · 2020-09-12 15:51

记录数是否比您期望的多或少?

我假设您还有剩余 从表到视图的外部联接。 如果不正确,则需要将其更改为该值。

三十六小时_GS
5楼-- · 2020-09-12 15:50

更多,而不是VIEW中的所有记录,因为我将其作为Right Outer Join。 但是,我如何获取具有((

我有一个现有的报告,其中包含"代码"列,其中包含D5520,D3450等值,以及一个"视图"(由我新创建),该视图可能具有对应的D5520或M 5520或两者皆有,或者没有,对于所有代码值(每一个都如此) 代码可能具有匹配的0-3值)。 如何连接表和视图,以便结果集将视图中的所有记录都带入其中,代码可能是D5520或M 5520。)

一周热门 更多>