数据:

Programs
- degree (name)
- Course (course list)

Degrees
- code (unique identifier)
- name
- type (either postgrad or undergrad)

Course
- code (unique identifier)
- name

如何使用与上述相同的数据找到一个且只有一个本科学位课程中包含的课程?

最佳答案

正如我在评论中所写的,您正在加入programs.course = courses.name但是biology在两个表中的写入方式不同。
一旦修复,我将按如下方式编写查询:

select c.code from programs p
join degrees d on p.degree = d.code
join course c on p.course = c.name
where d.type = 'UG'
group by c.code
having count(degree) = 1

关于sql - 如何获得只有一个本科学位的类(class)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53053771/

10-12 15:24