CAP CDS NodeJS在自定义逻辑中创建动态联接

2020-08-21 23:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我需要在CAP中...

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

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


专家们,

我需要在CAP中创建动态查询。 为此,我将NodeJS用作具有自定义逻辑的中间层。 在此自定义逻辑中,我想联接两个表,但是基于过滤器,联接中的表可以不同。 我想使用CAP CDS语法来构建这样的查询:" SELECT * from Foo.a上的Foo INNER JOIN Bar = Bar.a"

从实时测试器中解析 https://cap.cloud.sap/docs/04-CDS/pegjs/

选择:
   列: ["*"]
   来自:{join:内部,参数:[{ref:[Foo]},{ref:[Bar]}]],打开:[{ref:[Foo,a]},=,{ref:[Bar,a]  }]} 

我想使用查询表示法建立相同的联接。 它在文档中,但我缺少一个示例:

https://cap.cloud.sap/docs/cds/cqn#joins

到目前为止,我已经尝试过:

let query = {join:"自然",来源:[Table1Source,Table2Source],上:" Table1Source.A = Table2Source.A"}

let query = SELECT.from({join:" natural",sources:[Table1Source,Table2Source],on:" Table1Source.A = Table2Source.A"}}

任何人都经历过使用CAP在nodejs自定义逻辑中建立联接的经历吗?

提前谢谢!

K,伍特

4条回答
宇峰Kouji
2020-08-21 23:34

如果使用源而不是表名称的字符串进行联接,该怎么办? 我应该在on条件下使用什么?

例如:

 const {table1,table2} = cds.entities(" be.wl.tables");
 SELECT.from(表1)
   .join(表2)
   .on({'table1.x':{'=':'table2.y'}})

 

一周热门 更多>