PostgreSQL z-delete „relacja nie istnieje”
Używam postgreSQL 9.1 i chcę usunąć duplikaty z mojej tabeli, używając tej wskazówki:https://stackoverflow.com/a/3822833/2239537
Tak więc moje zapytanie wygląda tak:
WITH cte
AS (SELECT ROW_NUMBER()
OVER (PARTITION BY code, card_id, parent_id
ORDER BY id DESC) RN
FROM card)
DELETE FROM cte
WHERE RN > 1
Ale to mi pokazuje
ERROR: relation "cte" does not exist
SQL state: 42P01
Character: 157
Jednak to stwierdzenie działa dobrze:
WITH cte
AS (SELECT ROW_NUMBER()
OVER (PARTITION BY code, card_id, parent_id
ORDER BY id DESC) RN
FROM merchantcard)
SELECT * FROM cte
WHERE RN > 1
Jakieś pomysły, jak to działa? Dzięki!