【发布时间】:2015-03-05 22:41:17
【问题描述】:
我在课程和辅导员之间有一对多的关系。外键在 Course 表中。如何选择不同的辅导员并将其多个课程 ID 作为辅导员旁边的列。
SELECT dbo.Facilitator.Fac_ID, dbo.Facilitator.Fac_Name, dbo.Course.Course_ID
FROM dbo.Course
RIGHT JOIN dbo.Facilitator ON dbo.Course.FK_Facilitator = dbo.Facilitator.Fac_ID
order by dbo.Facilitator.Fac_Name asc
返回:
相反,我想要:
【问题讨论】:
-
但是如果突然有 3 个(或 4 个)John 项目呢?
-
仔细看看这个问题和接受的答案(对我来说似乎是某种重复):stackoverflow.com/a/28696994/4584335 只需一点 SQL 技能,你应该能够得到你的答案。
-
同意@Rubik 关于这一点。如果这是 SQL Server,则使用 PIVOT。如果这在任何其他 RDBMS 附近都该死,那么您还有一些工作要做,特别是如果每个名称都可能有很大的变量数。
-
忘了说,一位辅导员只能属于 1 或 2 门课程,永远不会更多。
-
会看看那个链接
标签: sql-server select distinct