=================================================================
Query para Cross-Tab 1 (Resumen por Departamento)
=================================================================
-- Base de Datos POO
-- Tablas utilizadas
-- 1. UbiGeo (para nombres de Departamentos, conteo de Provincias y Distritos)
-- 2. PoblSup (para SUMA de Poblacion y Superficie)
-- 3. CCPP (para CONTEO de Centros Poblados)
-- 4. Supervisor (para CONTEO de Supervisores)
USE POO;
SELECT
[Link] AS Departamento,
-- Subconsulta para sumar Población y Superficie
(SELECT SUM(ISNULL([Link], 0))
FROM PoblSup PS
WHERE LEFT([Link], 2) = LEFT([Link], 2)) AS [Total Poblacion],
(SELECT SUM(ISNULL([Link], 0))
FROM PoblSup PS
WHERE LEFT([Link], 2) = LEFT([Link], 2)) AS [Total Superficie],
-- Subconsulta para contar Provincias
(SELECT COUNT()
FROM UbiGeo P
WHERE LEFT([Link], 2) = LEFT([Link], 2)
AND RIGHT([Link], 2) = '00'
AND RIGHT([Link], 4) '0000') AS [Total Provincias],
-- Subconsulta para contar Distritos
(SELECT COUNT()
FROM UbiGeo DI
WHERE LEFT([Link], 2) = LEFT([Link], 2)
AND RIGHT([Link], 2) '00') AS [Total Distritos],
-- Subconsulta para contar CCPP
(SELECT COUNT()
FROM CCPP C
WHERE LEFT([Link], 2) = LEFT([Link], 2)) AS [Total CCPP],
-- Subconsulta para contar Supervisores
(SELECT COUNT()
FROM Supervisor S
WHERE LEFT([Link], 2) = LEFT([Link], 2)) AS [Total Supervisores]
FROM
-- Obtenemos la lista de Departamentos
UbiGeo D
WHERE
RIGHT([Link], 4) = '0000' -- Filtro para Departamentos
ORDER BY
[Link];