Compartir a través de


Usar una combinación externa izquierda en QueryExpression para consultar filas "not in"

Puede usar una combinación externa izquierda mediante el uso de la clase QueryExpression para realizar una consulta que filtra la tabla combinada, por ejemplo, para buscar todos los contactos que no tuvieron ninguna actividad de campaña en los últimos dos meses. Otro uso común de este tipo de una consulta es buscar las filas de tabla (registros) que "no están en" un conjunto, como en estos casos:

  • Buscar todos los clientes potenciales que no tienen ninguna tarea
  • Buscar todas las cuentas que no tienen ningún contacto
  • Buscar todos los clientes potenciales que tienen una o varias tareas

Una combinación externa izquierda devuelve todas las filas que satisfacen la combinación de la primera entrada con la segunda entrada. También devuelve las filas de la primera entrada que no tenían ninguna fila coincidente en la segunda entrada. Las filas no coincidentes de la segunda entrada se devuelven como valores nulos.

Para realizar una combinación externa izquierda en QueryExpression, puede usar la columna entityname como un operador de condición. La columna entityname es válida en condiciones, filtros y filtros anidados.

Buscar todos los clientes potenciales que no tienen tareas, mediante el uso de un alias

El siguiente ejemplo muestra cómo crear esta consulta:

QueryExpression qx = new QueryExpression("lead");  
qx.ColumnSet.AddColumn("subject");  
  
LinkEntity link = qx.AddLink("task", "leadid", "regardingobjectid", JoinOperator.LeftOuter);  
link.Columns.AddColumn("subject");  
link.EntityAlias = "tsk";  
  
qx.Criteria = new FilterExpression();  
qx.Criteria.AddCondition("tsk", "activityid", ConditionOperator.Null);

Esto equivale al código SQL siguiente.

SELECT lead.FullName  
FROM Leads as lead  
LEFT OUTER JOIN Tasks as ab  
ON (lead.leadId  =  ab.RegardingObjectId)  
WHERE ab.RegardingObjectId is null

Consulte también

Crear consultas con QueryExpression
Usar la clase QueryExpression
Usar la clase QueryByAttribute

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).