【发布时间】:2020-11-10 19:32:31
【问题描述】:
所以我希望将一个表放在一起,该表是由一个名为 edsessioncentredates 的现有表产生的;
我想要的是所有参加 2020 年 11 月考试的人,让决赛桌也向我展示他们过去参加的考试(也存在于原桌中)。
我有一个唯一标识符是 CandidateCode
唯一的问题是我必须按年份和会话过滤原始表,但是我如何获取这个(唯一标识符)的结果,然后绘制以前参加的考试的结果以形成一个表。
到目前为止,我已经能够制作出的东西,但它不起作用,因为它只拉到 2020 年 而我需要的是给2020年坐过的每个人一个结果,他们过去还坐过什么;
select distinct es.year, ES.session,SB.CandidateCode
from edsessioncentredates ECD
left Join edsessionbookings SB on SB.sessioncentredateID = ECD.SessioncentredateID
left Join edsessions ES on ES.SessionID = ECD.SessionID
left JOIN EDProgrammes P on P.ID = sb.programmeID
where
sb.candidatecode in (select sb.candidatecode from edsessioncentredates ECD
where p.ProgrammeTitle like ('General Certificate%') and ES.Year = '2020' and es.session = 'november')
【问题讨论】:
-
查询的最后一行包含
... and ES.Year = '2020' ...。这是否解释了为什么您只能获得 2020 年的记录? -
您可以在问题中放置带有示例数据的创建表和插入脚本,并获得所需的输出?
-
我需要 es.year = '2020' 因为这是过去数据将通过唯一标识符 'SB.CandidateCode' 建立的父参数基础
标签: mysql join reporting-services datatable where-clause