如何在WHERE条件下使用关联值从ABAPSQL使用CDS?

如何在WHERE条件下使用关联值从ABAPSQL使用CDS?,abap,cds,Abap,Cds,我有一个通知标题的CD视图,它与通知的状态有关联 define view ZNOTIF as select from qmel as notif association [0..*] to ZNOTIF_STATUS as _status on _status.object_num = notif.objnr { key notif.qmnum as notif_id, notif.objnr as object_num, no

我有一个通知标题的CD视图,它与通知的状态有关联

define view ZNOTIF as select from qmel as notif
    association [0..*] to ZNOTIF_STATUS as _status on _status.object_num = notif.objnr
{
    key notif.qmnum        as notif_id,
    notif.objnr            as object_num,
    notif.qmart            as type,
    notif.qmtxt            as description, 
    _status
}
现在,我想在ABAP中使用这些CD,选择具有特定状态的所有通知(如果可能的话,不增加基数)

类似于这样,但这当然有语法错误:

SELECT notif_id,
       type,
       description
  FROM ZNOTIF
  INTO TABLE @DATA(notifs)
  WHERE \_status-status_id = 'STATUS_FILTER_VALUE'. "Syntax error

我能做点什么吗?

谢谢!工作起来很有魅力。正如我预期的那样,即使关联字段不在SELECT中,它也会增加基数,但添加DISTINCT后,问题就解决了。@RaTiO欢迎您。是的,的确如此。关联过滤器必须增加基数
SELECT DISTINCT notif_id,
   type,
   description
FROM ZNOTIF
WHERE \_status[ (*) ]-status_id = 'STATUS_FILTER_VALUE'
INTO TABLE @DATA(notifs).