Este tipo de consultas suelen tener bastantes problemas con el uso de alias en las tablas.
Teniendo en cuenta que es necesario para ti utiliarlas, podrías apoyarte en subconsultas.
Prueba esto:
Código SQL:
Ver originalSELECT *
FROM
(
SELECT ind_estado,vkpi_valor,vkpi_fec_medida
FROM
(
SELECT c.ind_estado ind_estado,
SUM(b.vkpi_valor) vkpi_valor,
b.vkpi_fec_medida vkpi_fec_medida
FROM vkpi_vector b
LEFT JOIN dkpi_vector c ON c.dkpi_vector_id = b.dkpi_vector_id
WHERE b.cod_area_empr='06'
AND b.cod_cargo_pers='030'
AND b.cod_pers='0044'
AND b.vkpi_fec_medida BETWEEN '01/03/2013' AND '31/03/2013'
GROUP BY b.dkpi_vector_id,c.ind_estado,b.vkpi_fec_medida
) t1
)
PIVOT (SUM(vkpi_valor) FOR ind_estado IN ('M' AS buenos,'B' AS malos,'E' AS excelentes));