Consultar datos jerárquicos

Puede definir relaciones específicas con autorreferencia de uno a varios como jerárquicas. Puede escribir consultas que devuelven datos relacionados en estas jerarquías.

Puede aprovechar nuevos operadores de condición de consulta para consultar tablas con eelaciones jerárquicas explícitas. Estos operadores solo se aplican a la relación de tabla definida específicamente como una relación jerárquica. Puede usar nuevos operadores de condición para recuperar estos datos jerárquicos cuando consulta utilizando QueryExpression o FetchExpression.

Operadores de condición para datos jerárquicos

Use los siguientes operadores para establecer condiciones para consultar datos jerárquicos.

FetchXML ConditionOperator Description
above Above Devuelve todos los registros en la línea de ascendencia jerárquica del registro al que se hace referencia.
eq-or-above AboveOrEqual Devuelve el registro al que se hace referencia y todos los registros sobre éste en la jerarquía.
under Under Devuelve todos los registros secundarios por debajo del registro al que se hace referencia en la jerarquía.
eq-or-under UnderOrEqual Devuelve el registro al que se hace referencia y todos los registros secundarios por debajo de éste en la jerarquía.
not-under NotUnder Devuelve todos los registros que no están por debajo del registro al que se hace referencia en la jerarquía.
eq-useroruserhierarchy OwnedByMeOrMyReports Cuando se usan modelos de seguridad jerárquicos, es igual al usuario actual o la jerarquía de subordinados del usuario
eq-useroruserhierarchyandteams OwnedByMeOrMyReportsAndTeams Cuando se usan modelos de seguridad jerárquicos, es igual al usuario actual y sus equipos o la jerarquía de subordinados del usuario y sus equipos

Límites de la recursión al consultar datos jerárquicos

Dado que la consulta de datos jerárquicos puede emplear muchos recursos, hay un límite predeterminado de 100 condiciones permitidas de recursiones para consultas jerárquicas utilizando los operadores de condición Above, AboveOrEqual, Under, UnderOrEqual, y NotUnder.

OwnedByMeOrMyReports y OwnedByMeOrMyReportsAndTeams son operadores de condición de seguridad jerárquica que dependen de la configuración de Profundidad de jerarquía que se encuentra en Configuración > Seguridad > Seguridad de jerarquía. El valor de esta opción se almacena en la columna Organization.MaxDepthForHierarchicalSecurityModel.

Utilice la columna rowaggregate en una consulta basada en FetchXML para recuperar el número de registros secundarios relacionados jerárquicamente. Cuando este valor se establece en CountChildren un valor que incluye el número total de registros secundarios para el registro se incluye en la EntityCollection. Por ejemplo, la siguiente consulta incluirá un valor de agregado de AccountChildren que representa el número de registros de cuentas secundarios en la relación jerárquica donde el parámetro {0} representa el AccountId del registro primario.

<fetch distinct='false' no-lock='false' mapping='logical'>  
  <entity name='account'>  
    <attribute name='name' />  
    <attribute name='accountid' />  
    <attribute name='accountid' rowaggregate='CountChildren' alias='AccountChildren'/>  
    <filter type='and'>  
      <condition attribute='accountid' operator='under' value='{0}' />  
    </filter>  
  </entity>  
</fetch>  
  

Nota

El valor agregado devuelto representa todos los registros secundarios, incluidos aquellos a los que el usuario no tenga acceso de lectura.

Consulte también

Acerca de las consultas de búsqueda rápida

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).