Select 来自 ( ) table 中的哪里?
Select from where in ( ) table?
我想要在 ABAP 语法中具有动态 where
条件的 select。
SQL 语句如下所示:
SELECT * FROM MCH1 WHERE MATNR IN (...) AND CHARG IN (...)
我的方法是将 2 个结构 ZMATN_STR
和 ZCHARG_STR
添加到字典中,并将相关组件作为行 (MATNR
、CHARG
)。
然后创建 2 个 table 类型和关联的线型。
现在我卡在 ABAP 中了,因为我不知道如何编写 where
子句。
这就是我到目前为止所拥有的:
SELECT *
FROM
mch1
FOR ALL ENTRIES IN @matnrs
WHERE
matnr = @matnrs-matnr
INTO TABLE @DATA(lt_result).
它适用于 matnr 或 charg,但不适用于两者。
附加信息
这个 select 发生在一个函数模块中,其中存在 2 个导入参数(2 个 table 类型) - 所以我不能只写 where in ('xxx', 'yyy')
data lr_matnr type range of matnr.
data lr_charg type range of MCH1-charg.
"Fill lr_matnr and lr_charg...
SELECT * FROM MCH1 WHERE MATNR IN @lr_matnr AND CHARG IN @lr_charg
into @data(lt_result).
我想要在 ABAP 语法中具有动态 where
条件的 select。
SQL 语句如下所示:
SELECT * FROM MCH1 WHERE MATNR IN (...) AND CHARG IN (...)
我的方法是将 2 个结构 ZMATN_STR
和 ZCHARG_STR
添加到字典中,并将相关组件作为行 (MATNR
、CHARG
)。
然后创建 2 个 table 类型和关联的线型。
现在我卡在 ABAP 中了,因为我不知道如何编写 where
子句。
这就是我到目前为止所拥有的:
SELECT *
FROM
mch1
FOR ALL ENTRIES IN @matnrs
WHERE
matnr = @matnrs-matnr
INTO TABLE @DATA(lt_result).
它适用于 matnr 或 charg,但不适用于两者。
附加信息
这个 select 发生在一个函数模块中,其中存在 2 个导入参数(2 个 table 类型) - 所以我不能只写 where in ('xxx', 'yyy')
data lr_matnr type range of matnr.
data lr_charg type range of MCH1-charg.
"Fill lr_matnr and lr_charg...
SELECT * FROM MCH1 WHERE MATNR IN @lr_matnr AND CHARG IN @lr_charg
into @data(lt_result).