【发布时间】:2020-10-16 19:09:36
【问题描述】:
到目前为止,我有这个 SQL,它工作正常。作为背景,这是尝试配置与访问数据库相关的 xsd 数据集的查询,我正在 VS 报告生成器中处理它以制作报告。 People 保存有关人员的信息,SessionsLogged 保存有关运行的活动的信息,其中 ID 是每个特定会话的 ID,但 SessionID 更像是活动类型,因此您可以为每个 SessionID 获取多个 ID,这些表由 PeopleSessions 表链接:
SELECT People.AriadneNo, People.Forename, People.Surname, People.Gender, People.MobileNo, Countries.Country, COUNT(SessionsLogged.ID) AS CountOfID, SessionsLogged.SessionID, People.EmailAddress
FROM (((SessionsLogged INNER JOIN
PeopleSessions ON SessionsLogged.ID = PeopleSessions.SLID) LEFT OUTER JOIN
People ON PeopleSessions.PersonID = People.ID) LEFT OUTER JOIN
Countries ON People.Country = Countries.ID)
WHERE (SessionsLogged.SessionID IN (1))
GROUP BY People.AriadneNo, People.Forename, People.Surname, People.Gender, People.MobileNo, Countries.Country, SessionsLogged.SessionID, People.EmailAddress
目前,我可以从中获得一份报告,其中提供了参加所选活动任何实例的每个人的详细信息以及他们参加该活动的次数。我想对此进行修改,以便我可以获取参加过 5 项选定活动中的任何一项的每个人的详细信息,然后是 5 列显示他们参加每种活动的次数。我尝试过使用 CASE 但这给了我一个错误(我认为是因为它是一个访问数据库?),我也尝试过 IIF 和子查询,但我要么做错了(可能)要么它们不起作用,因为无论哪种方式数据集告诉我我做错了什么。
【问题讨论】:
标签: sql ms-access reporting-services rdlc reportbuilder