我正在尝试根据另一个表的状态删除表上的记录。
delete from hp_visitors_data
left join hp_programs_list
on hp_visitors_data.visitor_program_viewed = hp_programs_list.id
where hp_programs_list.program_add_status = 3
group by hp_visitors_data.visitor_program_viewed
但我一直收到错误,我做错了什么?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'left join hp_programs_list on hp_visitors_data.visitor_program_viewed = hp_pro' at line 2
最佳答案
对于删除,您应该使用内部联接,以便您只处理匹配的行
无论如何,您正在使用没有聚合功能的分组,但总的来说,您需要一个用于删除的表
delete hp_visitors_data.*
from hp_visitors_data
INNER join hp_programs_list
on hp_visitors_data.visitor_program_viewed = hp_programs_list.id
and hp_programs_list.program_add_status = 3
关于mysql - 使用 LEFT join 和 GROUP BY 删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49647252/