SAP HANA SQL

2020-08-31 11:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家, 该如何合并两个内部表(...

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

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


专家,

该如何合并两个内部表(it_tab_h1和it_tab_k1)的数据?

(7.2 kB)
2条回答
半个程序猿
2020-08-31 11:46

HI Kedar,

最近我开始学习amdp,非常感谢您再次回答我的问题!

我希望使用sring_agg函数的结果不会重复。

例如:fms_fcr字段根据fmsno是重复的,类似docno_1 mawb mawb_1 hawb_1则根据fmsno不会重复。

it_tab_h = SELECT100ASCLIENT,

'a'as FMSNO,

" AA"为DOCTY,

" x1"为FMS_FCR,

" y1"为DOCNO_1

傻瓜

UNIONALL

SELECT100ASCLIENT,

'a'as FMSNO,

" AA"为DOCTY,

" x1"为FMS_FCR,

" y2"为DOCNO_1

傻瓜

;

预期结果是

以下是我的sql,但是it_warno无法内部加入it_cabno导致错误,请指导我如何纠正,

CLASS zcl_flights_demo_cds定义

公共

最终

创建公共。

公共部分。

接口if_amdp_marker_hdb。

类别方法:FOR TABLE FUNCTION ZDEMO_FLIGHTS_TABLE_FUNCTION的flights_connections。

受保护的部分。

专用部分。

ENDCLASS。

CLASS zcl_flights_demo_cds实施。

METHOD Flights_connections

通过数据库功能

对于HDB

语言SQLSCRIPT

只读选项

使用ZHX_FMST0059 ZHX_FMST0059I_BD。

it_warno =选择

将A.MANDT作为客户端,

A.FMSNO作为FMSNO,

B.warno AS warno从ZHX_FMST0059以A

A.DOCNO = B.DOCNO上的INNER JOIN ZHX_FMST0059I_BD AS B

WHERE DOCTY ='A';

it_cabno =选择

DISTINCT A.MANDT作为客户端,

A.FMSNO作为FMSNO,

B.cabno作为cabno,从ZHX_FMST0059作为A

A.DOCNO = B.DOCNO上的内部联接ZHX_FMST0059I_BD AS B

WHERE DOCTY ='A';

it_tab_h =选择

A.CLIENT,

A.FMSNO,

A.WARNO,

B.CABNO

FROM:it_warno AS A

左联接:it_cabno AS B ON A.FMSNO = B.FMSNO;

返回选择

客户,

fmsno,

STRING_AGG(CASE WHEN(warno!=``)THEN warno ELSE NULL END,'/')AS warno,

STRING_AGG(用小写,如果(CABNO!=``)THEN CABNO ELSE NULL END,'/')as CABNO

从:it_tab_h

按客户分组,fmsno;

终结法。

ENDCLASS。

一周热门 更多>