Is the a better way of returning a single row from a SQL Query that has multiple tables with a common UserId Key? I also referred to LINK but result was not what I'm looking for.
Also, they are many users which are assigned with many ModuleAccess, many PageAccess, many catalogAccess, Only 1 UserType, And Only 1 SystemAccess. User table has go many users.
I tried this But did no work:
SELECT us.userId, us.username, us.email, us.isAdministrator, us.status, us.FullName, ut.userTypeId, ut.typeName, ut.levelName, sys.sysAccessId, sys.adminDashboard, sys.accessName, sys.standardDashboard,
sys.marginChart, sys.expiringChart, sys.increasingChart, sys.viewCatalogue, sys.importList, sys.exportList, sys.masterDataMain, sys.changesNeed, md.moduleId, md.moduleName, md.moduleUrl,
pg.pageId, pg.pageName, pg.pageUrl, pg.pagePermission, pg.pageAccess,cat.catAccId, cat.HasAccess
FROM dbo.mp_Users AS us
INNER JOIN dbo.mp_UserType AS ut ON us.userId = ut.userId
INNER JOIN dbo.mp_PageAccess AS pg ON us.userId = pg.userId
INNER JOIN dbo.mp_ModuleAccess AS md ON us.userId = md.userId
INNER JOIN dbo.mp_SystemAccess AS sys ON us.userId = sys.userId
INNER JOIN dbo.mp_CatalogAccess AS cat ON us.userId = cat.userId
What I want is something link this:
This is my current result query :
Any One has a better way of Query this above SQL? Thank you
_________________After few attempt_______________Query error
SELECT
dbo.mp_Users.userId, dbo.mp_Users.username, dbo.mp_Users.email, dbo.mp_Users.isAdministrator, dbo.mp_Users.status, dbo.mp_Users.FullName, dbo.mp_UserType.userTypeId,
dbo.mp_UserType.typeName, dbo.mp_UserType.levelName, dbo.mp_SystemAccess.sysAccessId, dbo.mp_SystemAccess.adminDashboard, dbo.mp_SystemAccess.accessName, dbo.mp_SystemAccess.standardDashboard,
dbo.mp_SystemAccess.marginChart, dbo.mp_SystemAccess.expiringChart, dbo.mp_SystemAccess.increasingChart, dbo.mp_SystemAccess.viewCatalogue, dbo.mp_SystemAccess.importList,
dbo.mp_SystemAccess.exportList, dbo.mp_SystemAccess.masterDataMain, dbo.mp_SystemAccess.changesNeed,
sum(dbo.mp_ModuleAccess.moduleId),
max(dbo.mp_ModuleAccess.moduleName),
max(dbo.mp_ModuleAccess.moduleUrl),
sum(dbo.mp_PageAccess.pageId),
max(dbo.mp_PageAccess.pageName),
max(dbo.mp_PageAccess.pageUrl),
max(dbo.mp_PageAccess.pagePermission),
max(dbo.mp_PageAccess.pageAccess),
sum(dbo.mp_CatalogAccess.catAccId),
max(dbo.mp_CatalogAccess.HasAccess)
FROM dbo.mp_Users
INNER JOIN dbo.mp_UserType ON dbo.mp_Users.userId = dbo.mp_UserType.userId
INNER JOIN dbo.mp_PageAccess ON dbo.mp_Users.userId = dbo.mp_PageAccess.userId
INNER JOIN dbo.mp_ModuleAccess ON dbo.mp_Users.userId = dbo.mp_ModuleAccess.userId
INNER JOIN dbo.mp_SystemAccess ON dbo.mp_Users.userId = dbo.mp_SystemAccess.userId
INNER JOIN dbo.mp_CatalogAccess ON dbo.mp_Users.userId = dbo.mp_CatalogAccess.userId
GROUP BY dbo.mp_Users.userId