从 (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
)
这可能是 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
)