【发布时间】:2013-03-09 10:52:53
【问题描述】:
我想根据另一个表中存在的引用第一个表的数据从表中删除,但是,当我将其作为 SELECT 语句运行时,我的代码可以工作并显示要删除的值,但是当我将其更改为 DELETE 它会给我错误,我不明白它们为什么在那里。
DELETE leadCustomer.* FROM coursework.leadCustomer LEFT JOIN coursework.flightBooking
ON leadCustomer.customerID = flightBooking.customerID
WHERE leadCustomer.customerID NOT IN (
SELECT customerID FROM (SELECT customerID, status FROM coursework.flightBooking) AS
StatusCount where status IN ('R','H') GROUP BY customerID
)
AND leadCustomer.customerID = 8;
错误:
ERROR: syntax error at or near "leadCustomer"
LINE 1: DELETE leadCustomer.* FROM coursework.leadCustomer LEFT JOIN...
^
********** Error **********
ERROR: syntax error at or near "leadCustomer"
SQL state: 42601
Character: 8
我正在使用 postgres
【问题讨论】:
-
使用
delete from table where id in (your select query) -
删除 .* 并设置 DELETE loadCustomer FROM ....
-
试试这个:“删除leadCustomer FROM ...”
标签: sql postgresql join left-join