0

我想为每个门户查看特定模块的查看次数,即基于角色的模块的查看次数。

我们可以使用 SQL Query 生成它吗?

问候,

4

1 回答 1

2

要首先查找使用情况,您必须登录站点。其次,每个模块没有确切的日志记录。因为一个选项卡上可能有多个模块。然而,我们可以想象如果页面被查看 - 该页面上的所有模块都被查看。我认为以下查询将按模块为您提供计数

    SELECT  R.PortalID,
        TM.ModuleID,
        R.RoleName,
        COUNT(1) TotalViews
FROM    Roles R WITH ( NOLOCK )
        INNER JOIN dbo.UserRoles UR WITH ( NOLOCK ) ON R.RoleID = UR.RoleID
        INNER JOIN dbo.SiteLog sl WITH ( NOLOCK ) ON sl.UserId = ur.UserID
        INNER JOIN dbo.TabModules tm WITH ( NOLOCK ) ON tm.TabID = sl.TabId
GROUP BY R.PortalID,
        TM.ModuleID,
        R.RoleName

但是结果不会那么有用,因为一个用户可能属于多个角色。其次,我忽略了与 ModulePermissions 的连接,因为大多数模块确实使用继承视图权限。

于 2013-05-14T11:14:56.827 回答