从另一个创建具有唯一值的实体

2020-09-09 10:35发布

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

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


嗨,

我想知道CDS语法是否具有足够的表现力,以便能够将一个实体的唯一值投影到另一个实体中。 我找不到与sap/cds js模块一起使用的示例。

假设在许多示例中使用了Books实体,并通过 countryCode 进行了增强,该实体代表了本书的编写位置。 我知道,我假设一本书仅在一个国家/地区撰写,而没有一本书是在太空中撰写的。 请忍受这个示例:)

实体书籍{
 密钥ID:整数;
 title:字符串;
 stock:整数
 countryCode:字符串; //示例GB,DE等
 } 

我们想要的是作为"国家"实体的唯一国家列表,而不必明确地将其建模为具有关联的另一个实体。

我了解我们可以在Books EntitySet上使用$ apply = groupby()来获取该列的唯一值,但是我们可以使用books.countryCode的唯一值来构建cds视图吗?

以下是我尝试过的方法,但并不完全正确。 它在本地运行(在sqlite3上),但是无法部署到SCP(错误:com.sap.hana.di.cds:GROUP BY子句[1310257]中缺少路径)

按国家/地区代码从"图书"组中选择查看国家/地区; 

关于如何以任何地方都能使用的方式实现这一目标的任何想法?

非常感谢您。

Tiago

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

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


嗨,

我想知道CDS语法是否具有足够的表现力,以便能够将一个实体的唯一值投影到另一个实体中。 我找不到与sap/cds js模块一起使用的示例。

假设在许多示例中使用了Books实体,并通过 countryCode 进行了增强,该实体代表了本书的编写位置。 我知道,我假设一本书仅在一个国家/地区撰写,而没有一本书是在太空中撰写的。 请忍受这个示例:)

实体书籍{
 密钥ID:整数;
 title:字符串;
 stock:整数
 countryCode:字符串; //示例GB,DE等
 } 

我们想要的是作为"国家"实体的唯一国家列表,而不必明确地将其建模为具有关联的另一个实体。

我了解我们可以在Books EntitySet上使用$ apply = groupby()来获取该列的唯一值,但是我们可以使用books.countryCode的唯一值来构建cds视图吗?

以下是我尝试过的方法,但并不完全正确。 它在本地运行(在sqlite3上),但是无法部署到SCP(错误:com.sap.hana.di.cds:GROUP BY子句[1310257]中缺少路径)

按国家/地区代码从"图书"组中选择查看国家/地区; 

关于如何以任何地方都能使用的方式实现这一目标的任何想法?

非常感谢您。

Tiago

付费偷看设置
发送
2条回答
小c菟菟
1楼 · 2020-09-09 10:51.采纳回答

蒂亚戈,

这不是CDS的限制,而是HANA SQL的要求。 请阅读有关的文档

按条款分组

注意GROUP BY子句中的每个表达式还必须至少包含一个SELECT列表达式。 请注意,GROUP BY子句必须直接引用输入列。 它不能使用在本地SELECT子句中定义的别名。您正在从Book中选择所有元素,但仅对countryCode应用ORDER BY。关于此,Hans-Joachim
DafaDDDa
2楼-- · 2020-09-09 11:05

感谢澄清Hans-Joachim

一周热门 更多>