列出postgresql中某个列中具有相同值的行

时间:2015-03-15 20:16:11

标签: sql postgresql

我有两张桌子,课程和学院。

  • 课程有列:ID(主键),描述,级别, instructor_id(外键)和学期。
  • Faculties有列:faculty_id(主键),name,date_of_birth, 地址,电子邮件和级别。

讲座中的instructor_id引用了Faculties中的faculty_id。

我正在尝试编写一个查询,其中列出了教授多个课程的所有教师。由于我一般都是SQL的新手,所以我完全不知道如何去做这件事。 Courses表中有些行与instructor_id具有相同的值。到目前为止,我已经加入了这样的表格:

SELECT "Courses".description, "Faculties".name FROM "Courses" INNER JOIN 
"Faculties" ON "Courses".instructor = "Faculties".faculty_id;

但我不知道如何过滤出在教师列下重复值的行(换句话说,使用相同的教师过滤类)。

1 个答案:

答案 0 :(得分:0)

这是一个聚合查询。如果您只想要教师ID,那么您可以使用:

select instructor_id
from courses
group by instructor_id
having count(*) > 1;

要获取更多信息,请加入另一个表格。