【问题标题】:Configure dataset for Access database with multiple count columns on the same field为 Access 数据库配置数据集,在同一字段上具有多个计数列
【发布时间】: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


    【解决方案1】:

    如您所料,您可以为每个感兴趣的 SessionID 创建一个计算变量。这是我制作 CountSession1 和 Countsession2 的模拟数据的 sql。换句话说,如果 SessionID 为 1,则 CountSessionID 为 1,否则为 0,我们求和而不是计算结果。忽略正确的连接,这就是我设置模拟数据的方式, 这是生成的sql:

    SELECT People.ForeName, People.SurName, SessionsLogged.SessionID, Sum(IIf([SessionsLogged].[SessionID]=1,1,0)) AS CountSession1, Sum(IIf([SessionsLogged].[SessionID]=2,1,0)) AS CountSession2
    FROM SessionsLogged INNER JOIN ((Countries RIGHT JOIN People ON Countries.ID = People.Country) RIGHT JOIN PeopleSessions ON People.ID = PeopleSessions.PersonID) ON SessionsLogged.ID = PeopleSessions.SLID
    GROUP BY People.ForeName, People.SurName, SessionsLogged.SessionID;
    

    【讨论】:

    • 感谢您的回答,但不幸的是它对我不起作用,因为我试图在 Visual Studio 中使用 tableAdapter 向导/查询生成器创建数据集,但它似乎不接受 IIf 语句
    • 对不起,我错过了 rdlc 标签,我的视觉工作室似乎搞砸了,所以我现在帮不上忙
    猜你喜欢
    • 2020-03-12
    • 2013-03-01
    • 1970-01-01
    • 2019-04-16
    • 2012-10-22
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多