CDS Association with where condition containing a SELECT
CDS Association with where condition containing a SELECT
我有两种看法:
ZC_PurRequisitionFs 和 ZMM_ONAYT005.
第一个视图扩展自 C_PurRequisitionFs。
第二个视图从 Z* 获取数据 table。
如何才能只获取第一个视图中不存在的数据?
@AbapCatalog.sqlViewAppendName: 'ZCPURREQUISFS'
@EndUserText.label: 'Sat belgeleri'
extend view C_PurRequisitionFs with ZC_PurRequisitionFs {
*
} where ZC_PurRequisitionFs.object_id not in( SELECT * FROM ZMM_ONAYT005 ).
据我所知,ABAP CDS 视图不支持子查询,因此您需要将其包含在主查询中。
请检查这个guide。
虽然 CDS 视图不支持子查询,但它们支持 JOIN。
通常您会使用 JOIN 来仅获取在两个 table 中都存在的那些条目。但是,当您想要 table A 中 不存在 的所有条目都存在于 table B 中时,您可以执行 left outer join
然后添加 where
-条件仅适用于 table is null
.
正确的条目
define view Z_TEST as select
from table_a
left outer join table_b on
table_a.object_id = table_b.object_id
{
... fields....
}
where table_b.object_id is null;
我有两种看法:
ZC_PurRequisitionFs 和 ZMM_ONAYT005.
第一个视图扩展自 C_PurRequisitionFs。
第二个视图从 Z* 获取数据 table。
如何才能只获取第一个视图中不存在的数据?
@AbapCatalog.sqlViewAppendName: 'ZCPURREQUISFS'
@EndUserText.label: 'Sat belgeleri'
extend view C_PurRequisitionFs with ZC_PurRequisitionFs {
*
} where ZC_PurRequisitionFs.object_id not in( SELECT * FROM ZMM_ONAYT005 ).
据我所知,ABAP CDS 视图不支持子查询,因此您需要将其包含在主查询中。
请检查这个guide。
虽然 CDS 视图不支持子查询,但它们支持 JOIN。
通常您会使用 JOIN 来仅获取在两个 table 中都存在的那些条目。但是,当您想要 table A 中 不存在 的所有条目都存在于 table B 中时,您可以执行 left outer join
然后添加 where
-条件仅适用于 table is null
.
define view Z_TEST as select
from table_a
left outer join table_b on
table_a.object_id = table_b.object_id
{
... fields....
}
where table_b.object_id is null;