ALTER TABLE VCLib.T_USERS_GROUP ADD "divisions" uuid NULL;

--проставляю всем существующим группам пользователей идентификатор такого подразделения,
--у которого оно само и все его потомки привязаны к большему числу активных пользователей
update VCLib.T_USERS_GROUP
set Divisions = (select d.DivisionID
					from VCLib.T_DIVISIONS d
					inner join vclib.t_divisions d2
						on d2.LeftIndex >= d.LeftIndex
						and d2.RightIndex <= d.RightIndex
					inner join VCLib.T_USERS u
						on u.DivisionID = d2.DivisionID
						and u.Flags & 1 = 1
					where d.ParentID is null
					group by d.DivisionID
					order by count(*) desc
					limit 1);

ALTER TABLE VCLib.T_USERS_GROUP ALTER COLUMN "divisions" SET NOT NULL;

ALTER TABLE VCLib.T_USERS_GROUP ADD CONSTRAINT FK_T_DIVISIONS_T_USERS_GROUP_Divisions
FOREIGN KEY("divisions") REFERENCES VCLib.T_DIVISIONS (DivisionID);