SELECT SUM(Temp.RecordCount) AS RecordCount FROM (SELECT 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 DBUsers ON MenuEntity.NoEntity=DBUsers.NoEntity AND MenuPrivilege.NoType=DBUsers.NoType AND MenuRole.NoRole=DBUsers.NoRole WHERE Menu.Numero=58 AND Menu.Numero NOT IN (SELECT Menu.Numero FROM MenuPrivilegeExceptionCase INNER JOIN Menu ON MenuPrivilegeExceptionCase.NoMenu=Menu.Numero WHERE Menu.Numero=58 AND MenuPrivilegeExceptionCase.NoMember=DBUsers.AI) UNION SELECT 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 DBUsers ON MenuEntity.NoEntity=DBUsers.NoEntity WHERE Menu.Numero=58 AND MenuPrivilegeExceptionCase.NoMember=DBUsers.AI) AS TempNow, I need to update this select to get rid of the specific Menu.Numero=58 and update all Menu.Count field. Thus, only one command will calculate the value of all rows in that table. I have done something like this before but not with such a complex SQL.