Compartir vía


Contraer grupos de filas (Visual Database Tools)

Se aplica a: SQL Server

Puede crear un resultado de consulta en el que cada fila de resultados se corresponda con un grupo de filas completo de los datos originales. Cuando se contraen filas, conviene tener en cuenta lo siguiente:

  • Puede eliminar filas duplicadas Algunas consultas pueden crear conjuntos de resultados en los que aparezcan varias filas idénticas. Por ejemplo, puede crear un conjunto de resultados en el que cada fila contenga la ciudad y el nombre del estado de una ciudad que contiene un autor; pero si una ciudad contiene varios autores, habrá varias filas idénticas. El código SQL resultante puede presentar el siguiente aspecto:

    SELECT city, state  
    FROM authors  
    

    El conjunto de resultados generado por la consulta anterior no es muy útil. Si una ciudad contiene cuatro autores, el conjunto de resultados incluirá cuatro filas idénticas. Como el conjunto de resultados no incluye otras columnas que no sean ciudad y estado, no hay manera de distinguir las filas idénticas unas de otras. Una manera de evitar filas duplicadas de este tipo es incluir columnas adicionales que pueden hacer que las filas sean diferentes. Por ejemplo, si incluye el nombre del autor, cada fila será diferente (siempre y cuando no haya dos autores que se llamen igual y que vivan en la misma ciudad). El código SQL resultante puede presentar el siguiente aspecto:

    SELECT city, state, fname, minit, lname  
    FROM authors  
    

    Es evidente que la consulta anterior elimina el síntoma, pero no soluciona realmente el problema. Es decir, el conjunto de resultados no tiene duplicados, pero ya no es un conjunto de resultados de ciudades. Para eliminar elementos duplicados en el conjunto de resultados original y que cada fila siga describiendo una ciudad, puede crear una consulta que devuelva únicamente filas diferentes. El código SQL resultante puede presentar el siguiente aspecto:

    SELECT DISTINCT city, state  
    FROM authors  
    

    Para detalles sobre cómo eliminar los elementos duplicados, consulte Excluir filas duplicadas (Visual Database Tools).

  • Puede calcular por grupos de filas Es decir, puede resumir información en grupos de filas. Por ejemplo, puede crear un conjunto de resultados en el que cada fila contenga la ciudad y el nombre del estado de una ciudad que contenga un autor, además de un recuento del número de autores que hay en esa ciudad. El código SQL resultante puede presentar el siguiente aspecto:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    

    Para detalles sobre cómo realizar cálculos en grupos de filas, consulte Resumir los resultados de una consulta (Visual Database Tools) y Ordenar y agrupar los resultados de una consulta (Visual Database Tools).

  • Puede utilizar criterios de selección para incluir grupos de filas Por ejemplo, puede crear un conjunto de resultados en el que cada fila contenga la ciudad y el nombre del estado de una ciudad que contenga varios autores, además de un recuento del número de autores que hay en esa ciudad. El código SQL resultante puede presentar el siguiente aspecto:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    HAVING COUNT(*) > 1  
    

    Para detalles sobre cómo aplicar los criterios de selección en grupos de filas, consulte Especificar condiciones para grupos (Visual Database Tools) y Usar cláusulas HAVING y WHERE en la misma consulta (Visual Database Tools).

Consulte también

Especificar criterios de búsqueda (Visual Database Tools)
Temas de procedimientos de diseño de consultas y vistas (Visual Database Tools)