【发布时间】:2015-05-28 21:15:46
【问题描述】:
我需要能够获得一个结果集,该结果集显示一门课程的最后一位教师,为此我有以下 SQL 查询:
SELECT
a.acad_period, MAX(a.start_week) as start_week,
a.staff_code, b.aos_code, b.aos_period
FROM
qlsdat.dbo.sttstaff a
INNER JOIN
qlsdat..sttrgaos b ON a.acad_period = b.acad_period
AND a.register_id = b.register_id
AND a.register_group = b.register_group
WHERE
a.acad_period = '14/15'
GROUP BY
a.acad_period, a.staff_code, b.aos_code, b.aos_period
但是,问题是它返回给我的是该课程老师的最长开始周,而我想要一门课程的最长开始周,以及恰好在该开始周任教的老师。
这是从上述查询返回的示例结果集:
14/15 37 HKARUNATHIL A2ES 001A
14/15 37 CSHUKLA A2ES 001B
14/15 37 PSEDOV A2ES 002A
14/15 37 BBANFIELD A2ES 002B
14/15 14 VKRISHNASWA A2EX BL1 X
14/15 14 VKRISHNASWA A2EX BL2 X
14/15 6 BODAMEKENTO ACA2 BL1 A
14/15 41 SKLER ACA2 BL1 A
14/15 44 BODAMEKENTO ACAS BL1 F
14/15 37 MMILLER ARA2 BL1 C
14/15 45 MMILLER ARAS BL1 E
14/15 44 SHOULTON ARAS BL1 E
以下是结果集中的问题示例:
14/15 10 HMALIK MMGX GB2F3
14/15 44 JMULLANEY MMGX GB2F3
在上面的例子中我只想要:
14/15 44 JMULLANEY MMGX GB2F3
生成的查询将用作另一个查询中的子查询。
【问题讨论】:
标签: tsql sql-server-2005