>SELECT Menu.Numero,COUNT(*) AS RecordCount > FROM Menu > INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu > INNER JOIN MenuPrivilege ON Menu.Numero=MenuPrivilege.NoMenu > INNER JOIN MenuRole ON Menu.Numero=MenuRole.NoMenu > INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity AND > MenuPrivilege.NoType=Member.NoType AND MenuRole.NoRole=Member.NoRole > WHERE Menu.Numero NOT IN (SELECT Menu.Numero FROM MenuPrivilegeExceptionCase > INNER JOIN Menu ON MenuPrivilegeExceptionCase.NoMenu=Menu.Numero > WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero) > GROUP BY Menu.Numero >UNION > SELECT Menu.Numero,COUNT(*) AS RecordCount > FROM Menu > INNER JOIN MenuPrivilegeExceptionCase ON Menu.Numero=MenuPrivilegeExceptionCase.NoMenu AND > MenuPrivilegeExceptionCase.Enabled=1 > INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu > INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity > WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero > GROUP BY Menu.Numero >>
>UPDATE Menu SET Count=Temp.RecordCount FROM Menu JOIN >(SELECT Menu.Numero,COUNT(*) AS RecordCount > FROM Menu > INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu > INNER JOIN MenuPrivilege ON Menu.Numero=MenuPrivilege.NoMenu > INNER JOIN MenuRole ON Menu.Numero=MenuRole.NoMenu > INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity AND > MenuPrivilege.NoType=Member.NoType AND MenuRole.NoRole=Member.NoRole > WHERE Menu.Numero NOT IN (SELECT Menu.Numero FROM MenuPrivilegeExceptionCase > INNER JOIN Menu ON MenuPrivilegeExceptionCase.NoMenu=Menu.Numero > WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero) > GROUP BY Menu.Numero >UNION > SELECT Menu.Numero,COUNT(*) AS RecordCount > FROM Menu > INNER JOIN MenuPrivilegeExceptionCase ON Menu.Numero=MenuPrivilegeExceptionCase.NoMenu AND > MenuPrivilegeExceptionCase.Enabled=1 > INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu > INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity > WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero > GROUP BY Menu.Numero) AS Temp ON Temp.Numero=Menu.Numero >>
UPDATE Menu SET Count=ISNULL(A.RecordCount,0)+ISNULL(B.RecordCount,0) FROM (SELECT Menu.Numero,COUNT(*) AS RecordCount FROM Menu INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu INNER JOIN MenuPrivilege ON Menu.Numero=MenuPrivilege.NoMenu INNER JOIN MenuRole ON Menu.Numero=MenuRole.NoMenu INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity AND MenuPrivilege.NoType=Member.NoType AND MenuRole.NoRole=Member.NoRole WHERE Menu.Numero NOT IN (SELECT Menu.Numero FROM MenuPrivilegeExceptionCase INNER JOIN Menu ON MenuPrivilegeExceptionCase.NoMenu=Menu.Numero WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero) GROUP BY Menu.Numero) A FULL JOIN (SELECT Menu.Numero,COUNT(*) AS RecordCount FROM Menu INNER JOIN MenuPrivilegeExceptionCase ON Menu.Numero=MenuPrivilegeExceptionCase.NoMenu AND MenuPrivilegeExceptionCase.Enabled=1 INNER JOIN MenuEntity ON Menu.Numero=MenuEntity.NoMenu INNER JOIN Member ON MenuEntity.NoEntity=Member.NoEntity WHERE MenuPrivilegeExceptionCase.NoMember=Member.Numero GROUP BY Menu.Numero) B ON B.Numero = A.Numero WHERE Menu.Numero = ISNULL(A.Numero,B.Numero)