abap cds view 查询条件中使用in语句。

时间:2019-09-25
本文章向大家介绍abap cds view 查询条件中使用in语句。,主要包括abap cds view 查询条件中使用in语句。使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

当从cds view 中查询数据时,where 条件中,某个字段如果在两个内表的交集中,就取出。可以使用下面语法:

      LOOP AT lt_table0 ASSIGNING <fs_line1>.  "先将内表转化为能查询的结构。
        ls_stru1-low = <fs_line1>.
        ls_stru1-sign = 'I'.
        ls_stru1-option = 'EQ'.
        APPEND ls_stru1 TO lt_table3.
      ENDLOOP.

    SELECT * FROM cds_view01
      WHERE upper( field1 ) IN @lt_table1
        AND ( field2 in @lt_table2 and field2 in @lt_table3 )  "该语句将会查询lt_table2和lt_table3的字段field2的交集。
      INTO CORRESPONDING FIELDS OF TABLE @lt_table4.

条件: AND ( field2 in @lt_table2 and field2 in @lt_table3 )  "该语句将会查询lt_table2和lt_table3的字段field2的交集。
如果
lt_table2,lt_table3为initial,代表查询所有的,相当于这个条件不存在。

例如:lt_table2为initial,则该条件相当于:
AND ( field2 in @lt_table3 )

原文地址:https://www.cnblogs.com/liyafei/p/11584271.html