delete t1 from pg_acymailing_listsub t1
join pg_acymailing_subscriber tt on t1.subid = tt.subid
join pg_users t2 on tt.userid = t2.id
where NOW() > t2.registerDate + interval 90 day and t1.listid=7 and (
exists (
SELECT * FROM pg_acymailing_listsub WHERE pg_acymailing_listsub.listid=1 AND pg_acymailing_listsub.subid = t1.subid AND pg_acymailing_listsub.status=-1 LIMIT 1
) OR t1.subid not in (
select pg_acymailing_userstats.subid from pg_acymailing_userstats where pg_acymailing_userstats.subid = t1.subid and pg_acymailing_userstats.open > 0
)
);
什么问题?我认为需要使用子查询,但我不知道如何在查询中使用它。“您无法在FROM子句中指定目标表't1'进行更新”。如何删除行?
没有'update' ??? – Rahul
错误的删除语法:用'delete from'替换'delete t1 from' –
用'delete from'修改,但错误:'1064 - 您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“T1连接上t1.subid = tt.subid pg_acymailing_subscriber TT加入”在行1' – bars96