FORMULA LANGUAGE
La primera sentencia SELECT selecciona los documentos 1.2, 1.2.1, y 1.2.2; la segunda selecciona los documentos 1.0, 1.1, 1.2, y 1.3; la tercera selecciona los documentos 1.0, 1.1, 1.2, 1.2.1, 1.2.2, y 1.3; y la cuarta selecciona los documentos 1.2.1 y 1.3.
SELECT @Author = "Julio Tudor" | @AllChildren
SELECT @Author = "Esteban García" | @AllChildren
SELECT @Author = "Esteban García" | @AllDescendants
SELECT @Contains( Asunto; "like" ) | @AllChildren
Obtendrá esta vista:
Fecha Asunto 04/08/95 La familia de las orquídeas (Ana Durán, 2 respuestas) 04/08/95 Descubrimiento de un nueva variedad (Bertín Sánchez) 04/08/95 La orquídea "fantasma" (Raquel González) 04/08/95 Floristerías locales que vendan orquídeas (María Torres, 1 respuesta) 04/08/95 Pregunta en Verde Flora (Ana Durán)
Sin embargo, la vista selecciona todos los documentos de respuesta de la base de datos, estén o no relacionados con las orquídeas. Por ejemplo, la vista tendrá esta apariencia cuando se desactiva la jerarquía de respuestas:
Fecha Asunto 04/08/95 La familia de las orquídeas (Ana Durán) 04/08/95 Descubrimiento de una nueva variedad (Bertín Sánchez) 04/08/95 Variedades especiales de rosas (Miguel Barrios) 04/08/95 Mis rosas han florecido tarde este año (Marcelo Dúrcal) 04/08/95 Floristerías locales que vendan orquídeas (María Torres) 04/08/95 Pregunta en Verde Flora (Ana Durán) 04/08/95 La orquídea "fantasma" (Raquel González)
Los documentos innecesarios ocupan un valioso espacio en el índice de la vista de la base de datos del servidor. (Además, si ha utilizado la misma fórmula en la replicación, los documentos innecesarios se habrán replicado.)
Utilice @AllChildren en la fórmula de selección:
SELECT @Contains( Asunto; "orquídea" ) | @AllChildren
Esta fórmula selecciona y muestra únicamente aquellos documentos de respuesta cuyo documento de nivel superior contenga "orquídea" en el campo Asunto. La vista no contiene ningún documento de respuesta oculto.
Sin embargo, la vista Orquídea que acaba de crear no contiene todos los documentos que desea. @AllChildren únicamente selecciona los documentos de nivel inferior de aquellos documentos de nivel superior que cumplen los criterios de selección:
Fecha Asunto 04/08/95 La Familia De Las Orquídeas (Ana Durán, 4 respuestas) 04/08/95 Descubrimiento de una nueva variedad (Bertín Sánchez) 04/08/95 La orquídea "fantasma" (Raquel González, 2 respuestas) 04/08/95 Muy difícil de ver (Bertín Sánchez) 04/08/95 Se han visto algunas en Almería (Ana Durán) 04/08/95 Floristerías locales que vendan orquídeas (María Torres, 1 respuesta) 04/08/95 Pregunta en Verde Flora (Ana Durán)
En este caso, @AllDescendants es la mejor solución. Modifique la fórmula de selección:
SELECT @Contains( Asunto; "orquídea" ) | @AllDescendants
La vista Orquídea contiene ahora subdebates del debate sobre las orquídeas:
Fecha Asunto 04/08/95 La familia de las orquídeas (Ana Durán, 7 respuestas) 04/08/95 Descubrimiento de una nueva variedad (Bertín Sánchez, 2 respuestas) 04/08/95 ¿De qué color es? (Ana Durán) 04/08/95 Por favor dime el lugar exacto (María Torres) 04/08/95 La orquídea "fantasma" (Raquel González, 3 respuestas) 04/08/95 Muy difícil de ver (Bertín Sánchez, 1 respuesta) 04/08/95 ¡Sólo florece durante una hora aproximadamente! (Raquel González) 04/08/95 Se han visto algunas en Almería (Ana Durán) 04/08/95 Floristerías locales que vendan orquídeas (María Torres, 1 respuesta) 04/08/95 Pregunta en Verde Flora (Ana Durán)