首页 > 解决方案 > 删除 Select Inner Join 查询结果

问题描述

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
eY5WRONXDI 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;

标签: mysqlsqlinner-join

解决方案


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

尝试:

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 
                 ) ;

推荐阅读