删除 Select 内连接查询结果

Delete a Select Inner Join Query result

SELECT yturl from ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip;

我要删除exp的查询结果这个查询结果是:

yturl ip id
eY5WRONGXDI 197.XX.XX.XXX 1

虽然我想从 ytpointadder 中删除它。我试过了:

DELETE from ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip;

在部分查询中,它应该 return 一列 您可能需要使用括号

试试这个

DELETE FROM ytpointadder
WHERE yturl IN
( 
SELECT a.yturl from  ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip)

您不能在 FROM 子句中为更新(删除)指定相同的目标 table。所以你必须使用另一个外部查询。

尝试:

DELETE FROM ytpointadder
WHERE yturl IN  ( SELECT t.yturl FROM (SELECT a.yturl, a.ip from ytpointadder a
                                     JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
                                     Group by a.ip 
                                     ) as t 
                 ) ;