SAP CAP-如何加入

2020-08-15 11:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试使用Nod...

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

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


大家好,

我正在尝试使用NodeJS作为语言来连接两个表/实体。

我收到以下提到的错误

我尝试了以下网址中提到的解决方案

/img/questions/13038904/how-to-performing-a-join-using-cqn-using-fluid-nod.html

https: //answers.sap.com/questions/13006576/cap-cds-nodejs-create-dynamic-join-in-custom-logic.html

仅当我对完整表名进行硬编码时,它才有效。 但是当我尝试传递变量时,它不起作用

下面是不起作用的代码(在这里我传递变量)

 const db =等待cds.connect.to('db')
 const {tableA,tableB} = db.entities('namespace')
  让查询= SELECT.from(tableA)
                     .join(表B)
                     .on('tableA.ID','=','tableB.ID')
 让结果=等待cds.run(查询)

 

下面是起作用的代码(在这里,我传递完整的表名而不是变量)

 let query = SELECT.from('namespace.tableA')
                     .join('namespace.tableB')
                     .on('namespace.tableA.ID','=','namespace.tableB.ID')
 让结果=等待cds.run(query)

请告知

此致

山地

(41.0 kB)
2条回答
大道至简
2020-08-15 12:00 .采纳回答

您好Sandeep,

为避免在联接中使用全名,可以设置别名。 不幸的是,没有允许这样做的API,但是您可以尝试以下解决方法:

 const db =等待cds.connect.to('db')
 const {书籍,作者} = db.entities('CatalogService')

  让query = SELECT.from(`$ {Books.name} as B`)
     .join(`$ {Authors.name} as A`)
     .on('B.ID','=','A.ID')

 让结果=等待cds.run(query)

请让我知道是否对您的问题有所帮助。

最诚挚的问候,

Olena

一周热门 更多>