【发布时间】:2013-08-14 01:16:03
【问题描述】:
我从来没有在这里发过帖子,所以希望一切顺利:)。我正在使用 SQL Server 2008 R2,并且正在尝试从数据库中提取学生/课程信息。这是我正在处理的:
表 dbo.StudentsSchedule
StudentsSchedule 表包含以下字段: CRS_CODE CRS_SECT ID_NUMBER
表 dbo.StaffSchedule:
课程 部分 Teacher_ID
这是我想要完成的:
我想组合 COURSE+SECTION CODE+Teacher_ID 以将其用作唯一的“新课程 ID”,然后将学生附加到它。
我已经尝试过了,但我得到的结果太多了。我预计大约 300,但收到超过 10K+
SELECT dbo.StaffSchedule.COURSE+'-'+ dbo.StaffSchedule.SECTION+'-'+dbo.StaffSchedule.Teacher_ID) as [NewCourseID],
dbo.StudentSchedule.ID_NUMBER AS [StudentID],
from dbo.StaffSchedule INNER JOIN dbo.StudentSchedule ON
dbo.StaffSchedule.COURSE=dbo.StudentSchedule.CRS_CODE and
dbo.StaffSchedule.SECTION=dbo.StudentSchedule.CRS_SECT
请注意,Teacher_ID 在每个 COURSE+SECTION 中只能存在一次。
有什么想法吗?我做错了吗?
【问题讨论】:
-
选择所有列并查看变化的来源并将这些其他列添加到连接条件
-
我在本地服务器上使用示例数据创建了示例表,它的工作原理就像一个魅力。你能发布一些你在两个表中都有的示例数据吗?
-
嗨,你的学生表中有多少条记录?只有300+?还是 10k+ ?
标签: sql sql-server-2008 join