我的查询出现以下错误:
ERROR: syntax error at or near "p"
这是我的疑问:
DELETE p FROM property_import_image_results p
LEFT JOIN LATERAL (SELECT q.created_at FROM property_import_image_results q
WHERE q.external_url=p.external_url AND (q.listing_image_id = p.listing_image_id OR q.listing_image_id IS NULL)
ORDER BY q.created_at DESC NULLS LAST LIMIT 1) as qf ON p.created_at = qf.created_at
WHERE qf.created_at is NULL;
知道可能是什么问题吗?
答案 0 :(得分:2)
您不能以这种方式表达您的查询。也许这就是你想要的:
DELETE FROM property_import_image_results p
WHERE NOT EXISTS (SELECT 1
FROM property_import_image_results q
WHERE q.external_url = p.external_url AND
q.created_at > p.created_at AND
(q.listing_image_id = p.listing_image_id OR q.listing_image_id IS NULL)
) ;
答案 1 :(得分:0)
DELETE和FROM子句之间不需要p:http://www.w3schools.com/sql/sql_delete.asp。所以试着删除它。
答案 2 :(得分:0)
虽然我不熟悉postgresql的具体内容,但您实际上并没有说过"从mytable"删除mytable。在删除语句的开头?不应该是"从property_import_image_results p ...等删除。 。等"