从 (Select...) SAP HANA 中删除

DELETE FROM (Select...) SAP HANA

这可能是 SAP HANA 特有的,但为什么这不起作用,是否有推荐的解决方法:

DELETE FROM
(SELECT
 PKID
, a
, b)
Where a > 1 

“(”处存在语法错误

事实上,DELETE FROM (TABLE) where a > 1 也不起作用并给出相同的语法错误。

问题是我需要删除在 select 语句中使用 Rank 函数标记的特定行。

谢谢(第一个post,一直在潜伏和寻找)。

-顺波

感谢您的回复。我现在在DELETE FROM 后面放了一个table 并且在DELETE 和table.

的一个小系列的self-join 上放了Where 限制
DELETE from TABLE1
WHERE x IN
   (SELECT A.x FROM

   (SELECT x, r1.y, r2.y, DENSE_RANK() OVER (PARTITION by r1.y, r2.y ORDER by x) as RANK
       FROM TABLE2 r0
       INNER JOIN TABLE1 r1 on r0.x = r1.x
       INNER JOIN TABLE1 r2 on r0.x = r2.x
       WHERE r1.y = foo and r2.y = bar
    ) as A  WHERE A.RANK > 1
   )