简体   繁体   English

删除一个 Select Inner Join 查询结果

[英]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;

I want to delete the result of the query for exp this query result is :我想删除exp的查询结果,这个查询结果是:

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

Though i want to delete it from ytpointadder.虽然我想从 ytpointadder 中删除它。 I tried :我试过 :

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

You can't specify same target table for update (delete) in FROM clause.您不能在 FROM 子句中为更新(删除)指定相同的目标表。 So you have to use another outer query.所以你必须使用另一个外部查询。

Try:尝试:

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

try this尝试这个

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM