使用路径表达式node.js进行查询

2020-09-02 20:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)有关查询中路径表达式的问题。 ...

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

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


有关查询中路径表达式的问题。

此处中指出 在查询中受支持。

此处 方法可以返回cds.ql对象。

cds.ql对象与CQL对象相同,后者是已解析的CDS查询的AST。 解析是通过cds.parse.cql方法完成的,该方法仅接受CDS sql语句作为输入。 这意味着它不能与路径表达式一起使用,因为定义位于模型的关联中,并且解析器不知道模型。 当然,输出不包含join子句或mixin。

稍后,当CQL对象转换为SQL时,模型就在那里了,但是引用解析器没有检查模型中的关联路径。

AST/CQL中的Mixins正确,但是在cds-sql(转换器)中不支持此功能。

那么如何在查询中使用路径表达式? 将模型添加到查询解析器,或者更正sql转换器以读取关联? 或者,如尚无法实现(如mixin),何时计划此功能?

如果需要一个示例,只需在标准书店模型上运行此查询即可:

 cds.parse.cql("从Books.author中选择ID");
 

如果使用sqlite,将给您一个错误,指示Books_author表不存在。 由于引用解析器不知道作者是一个关联而不是表名。

非常感谢Martin

8条回答
闻人可可
2020-09-02 21:06

你好,塞缪尔。 这是另一只动物。 当您这样做时,它会变得非常有趣:

 SELECT.from(" books")。columns((proxy)=> {
   proxy.author.id.as(" cute_alias");
 })

并使用javascript代理对象的功能。 但是,这值得在其他地方进行讨论。

一周热门 更多>