1.as select distinct from LFA1,如果结果集中有重复的项目,distinct可以排除结果集中的重复条目。
2.@AbapCatalog.preserveKey: true 这句annotation 的值为TRUE时,SQL view中的key字段使用CDS中定义的key; 值为FALSE时,使用DB table中table的key field。
3.concat () 拼接两个字符串,substring( )获取字符串中的一个子串。
4.CAST可以完成所需要的强制类型转换,进而实现在CDS中的运算需求;其中abap.fltp代表转换为abap中的浮点型。cast ( forcuram as abap.fltp ) * 1.3。
5.coalesce(arg1, arg2): 如果arg1不为NULL则返回arg1的值,否则返回arg2的值. coalesce ( smoker, 'unassigned' ) as smoker_status。
6.使用聚集运算时,要使用group by指定聚集的件,也即按哪些字段进行分组统计。
7.Having中指定的条件字段,只能是group by中的字段的子集;在Having中也可以使用聚集运算的中间结果集作为删选条件。
8.UNION可以合并两个SELECT的结果集,并自定去除重复的条目。UNION ALL 合并结果集,保留重复的条目。合并的两个结果集要有相同字段数。合并结果集的列类型要兼容。
9.如果association了其他view,那么就算不引用其他view的字段,也要把其他view的引用名写进select from的结果集中。
10.底层view的字段或者内容需要改动时,需要确认在上层view是否引用了底层view里的改动字段,如果引用了的话,需要先把上层view的引用注释掉并激活才能修改底层view。
11.association和outer join比较相似。是一种lazy join,只有需要的时候才会进行结合。