>UPDATE Menu2 SET Count=Temp.RecordCount FROM Menu AS Menu2 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 DBUsers ON MenuEntity.NoEntity=DBUsers.NoEntity AND MenuPrivilege.NoType=DBUsers.NoType AND MenuRole.NoRole=DBUsers.NoRole >WHERE Menu.Numero NOT IN (SELECT Menu.Numero FROM MenuPrivilegeExceptionCase >INNER JOIN Menu ON MenuPrivilegeExceptionCase.NoMenu=Menu.Numero >WHERE MenuPrivilegeExceptionCase.NoMember=DBUsers.AI) >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 DBUsers ON MenuEntity.NoEntity=DBUsers.NoEntity >WHERE MenuPrivilegeExceptionCase.NoMember=DBUsers.AI >GROUP BY Menu.Numero) Temp ON Temp.Numero=Menu2.Numero >Change UNION to UNION ALL and if you're using SQL 2008 or up I suggest to switch to MERGE syntax instead of proprietary UPDATE-SQL.