我正在尝试创建一个选择,该选择允许我将两个表连接在一起,而无需使用任何使用 JOIN 的操作。问题是这两个表包含一对多关系。
假设有两个表:Department 和 Course。
部门
D_代码 |学校
01 | 1111
02 | 1111
03 | 2222
类(class)
CRS_代码 | D_代码
数学1 | 01
数学2 | 02
ACCT1 | 03
如何在不使用任何类型的联接的情况下找到所有学校及其提供的类(class)总数?
结果是1111学校有2门类(class),2222学校有1门类(class)。
我尝试过使用WITH和多个子查询,但结果值总是重复的。所以它会说学校 1111 有 16 门类(class),学校 2222 有 16 门类(class)(作为示例)。
指导将不胜感激。谢谢!
最佳答案
试试这个。如果不在 Where 条件
中使用子查询
,您也会得到相同的结果。
SELECT Count(D_CODE) No_OF_Course,
SCHOOL
FROM Department
WHERE D_CODE IN(SELECT D_CODE
FROM course)
GROUP BY SCHOOL
关于mysql - SQL 使用子查询而不是一对多的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27007413/