Mysql 如何使用subselect或LEFT join执行此删除查询

Mysql 如何使用subselect或LEFT join执行此删除查询,mysql,join,Mysql,Join,我正在尝试从任务表中删除任务,其中任务id为100,任务由删除用户或其团队成员创建,他们在用户表中分配了较小的用户角色 我想知道像这样的事情是否会产生魔力,或者正确的方法是什么 DELETE FROM tasks t LEFT JOIN users u ON u.user_id = 1 WHERE task_id = 677 AND createdby IN((SELECT u1.user_id FROM users u1 WHERE u1.user_team = u.user_team

我正在尝试从任务表中删除任务,其中任务id为100,任务由删除用户或其团队成员创建,他们在用户表中分配了较小的用户角色

我想知道像这样的事情是否会产生魔力,或者正确的方法是什么

DELETE FROM tasks t LEFT JOIN users u ON u.user_id = 1 WHERE task_id = 677 
AND createdby 
IN((SELECT u1.user_id FROM users u1 WHERE u1.user_team = u.user_team 
AND taskrspnsble 
IN((SELECT u2.user_id FROM users u2 WHERE u2.user_role <= u.user_role))
))

我想我的逻辑解释得很清楚?我刚想到要去。这是正确的答案

 DELETE FROM tasks 

WHERE task_id = 1 
AND createdby IN(
                (SELECT u1.user_id FROM users u1 WHERE u1.user_team 
                 IN
                 (SELECT u2.user_team FROM users u2 WHERE u2.user_role <= (SELECT u3.user_id FROM users u3 WHERE u3.user_id = 1)
                )
                ))

删除时的左连接是非常罕见的事情?我想知道为什么。我只是在寻找一种简单的方法,从数据库中删除一个任务,只使用两个外部因素任务id,用户,但仍然应用一些要求。就这些;-你有更好的解决方案吗?也许你应该解释一下你想要逻辑做什么。也许有一种更简单的表达方式。但是,请从中删除t。可能会解决你的问题。你是对的,不起作用。。。回到我的问题上来?实现这一点的逻辑是什么?我怀疑这是否能实现你所认为的。