如何获得只有一个本科学位的课程?

时间:2018-10-29 21:03:28

标签: sql postgresql

数据:

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

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

Course  
- code (unique identifier)   
- name  

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

2 个答案:

答案 0 :(得分:0)

就像我在评论中所写的那样,您正在加入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

答案 1 :(得分:0)

如果您想要的课程完全是一个UG学位而没有PG,那么:

bar