首页 > 解决方案 > SQL:从联合表中删除计数条件

问题描述

我有这些表:

导师

email firstname, lastname...

课程

url  tutorid description

评论

review courseid author

authorinreviewstutoridincourses是外键 =utors.email。

我需要删除所有有 2 门或更多课程但没有描述的导师。

我首先尝试只选择这样的导师:

select tutors.email, COUNT(courses.url) 
from courses 
left join tutors on courses.tutorid = tutors.email
where 

description is null group by (tutors.email);

这很好用。但是我不确定如何使用给定的电子邮件删除导师,考虑到utors.email 是其他表中的外键。

标签: mysqlsql

解决方案


如果您不删除包含外键的相关表中的记录,您最终将创建称为孤立记录的东西,这通常违反 RDBMS 中的引用完整性规则。RDBMS 也可能会强制执行参照完整性,在您首先删除其他表中的所有关联记录之前,您将无法执行此操作。


推荐阅读