Как преобразовать WITH как выражение запроса SELECT в python? - PullRequest
0 голосов
/ 04 октября 2018

У меня следующий запрос на удаление дубликатов из таблицы в базе данных.

WITH x AS (SELECT "region_code" dup, min(ctid) 
FROM  public.test2 GROUP BY "region_code"  
HAVING count(*) > 1) 
DELETE FROM public.test2  
USING     x 
WHERE     (region_code) = (dup)  AND  public.test2.ctid <> x.min 
RETURNING *;

Теперь я хочу выполнить этот запрос с использованием Python.Когда я запускаю этот запрос в Python, ничего не происходит.Я использую sqlalchemy с питоном 3.6.

query = "WITH x AS (SELECT \"region_code\" dup, min(ctid) FROM  " + schema + "." + table_name + " GROUP BY \"region_code\" HAVING count(*) > 1) DELETE FROM " + schema + "." + table_name +" USING     x WHERE     (region_code) = (dup)  AND  " + schema + "." + table_name +".ctid <> x.min RETURNING *;"
data = con.execute(query)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...