mysql - 如何返回每个组中存在的所有行?

标签 mysql sql

编辑: This是数据库。问题是:

Find the course title which all the students whom their advisor is professor Katz took that course.

我想解决这个问题:

1) 查找 Katz 教授的 ID。

2) 使用该 ID 查找 Katz 教授建议的学生的 ID。

3) 使用找到的学生 ID,查找 Katz 教授的顾问所修读的所有类(class)。

4) 按学生 ID 对结果进行分组,并获取每个组中存在的行,从而找到 Katz 教授的所有学生所修读的类(class)。

我无法执行步骤 4。

<小时/>

如何从分组表中返回所有行,其中每个返回的行都存在于表的每个组中?

最佳答案

SELECT Title 
FROM Course INNER JOIN Takes 
  ON Course.Course_ID = Takes.Course_ID 
WHERE Takes.ID IN 
(SELECT Student.Id 
 FROM Student INNER JOIN advisor ON Students.ID = Advisor.s_ID 
   INNER JOIN instructor ON Advisor.i_ID = Instructor.ID 
 WHERE Instructor.Name = 'Prof.Katz' )

关于mysql - 如何返回每个组中存在的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319921/

相关文章:

mysql_affect_rows是通过DDL还是DML完成的?

php - 数据库列表延迟

SQL:速度改进 - 在 cond1 或 cond2 上左连接

mysql - SQL 请求,其变量等于 WHERE 子句中的当前行列值

MySQL - 使用 UNION ALL 获取错误的表字段,但结果是正确的

sql - 如何在 SQL 存储过程中实现日志记录和错误报告?

sql - 检查 PostgreSQL 中组查询中的单个行

mysql - 分组依据和具有 "Unknown column"

php - 根据日期向表中插入行

mysql - 如何组合这些 MySQL 查询?