Consultas de Referencias cruzadas !
Necesito realizar consultas de referencias cruzadas. Yo las he hecho en Access con las sentencias TRANSFORM y PIVOT.
Estoy intentando hacerlas en SQL Server 7.0 y no encuentro sentencias similares a las de TRANSFORM y PIVOT de Access. Lo que he encontrado, pero no me ayuda en mucho, es la sentencia CASE.
El código me queda más o menos así...
SELECT Cta_Contable, SUM(Rec_Estimada),
SUM(CASE Periodo WHEN 199801 THEN Rec_Estimada ELSE 0 END) AS '199801',
SUM(CASE Periodo WHEN 199802 THEN Rec_Estimada ELSE 0 END) AS '199802',
SUM(CASE Periodo WHEN 199803 THEN Rec_Estimada ELSE 0 END) AS '199803',
.
.
.
FROM Ana_Estimaciones
GROUP BY Cta_Contable ORDER BY Cta_Contable
donde Cta_Contable, Periodo y Rec_Estimada son campos de la tabla Ana_Estimaciones
Como verás esto esto está muy chafa porque para esto necesito saber cuantas columnas pivote(que en esta caso es la columna Periodo) son para poder armar la consulta.
Probablemente el chafa soy yo por no saber utilizar la sentencia CASE, pero he buscado y rebuscado algo que sea similar al TRANFORM y PIVOT de Access, pero no encuentro nada. Las sentencias de Access se hacen más compactas y rápidas que el CASE de SQL Server 7.0.
Ojalá me puedas ayudar con algún ejemplo o proporcionarme una paginita donde pueda encontrar información sobre las referencias cruzadas en SQL Server 7.0
Estoy intentando hacerlas en SQL Server 7.0 y no encuentro sentencias similares a las de TRANSFORM y PIVOT de Access. Lo que he encontrado, pero no me ayuda en mucho, es la sentencia CASE.
El código me queda más o menos así...
SELECT Cta_Contable, SUM(Rec_Estimada),
SUM(CASE Periodo WHEN 199801 THEN Rec_Estimada ELSE 0 END) AS '199801',
SUM(CASE Periodo WHEN 199802 THEN Rec_Estimada ELSE 0 END) AS '199802',
SUM(CASE Periodo WHEN 199803 THEN Rec_Estimada ELSE 0 END) AS '199803',
.
.
.
FROM Ana_Estimaciones
GROUP BY Cta_Contable ORDER BY Cta_Contable
donde Cta_Contable, Periodo y Rec_Estimada son campos de la tabla Ana_Estimaciones
Como verás esto esto está muy chafa porque para esto necesito saber cuantas columnas pivote(que en esta caso es la columna Periodo) son para poder armar la consulta.
Probablemente el chafa soy yo por no saber utilizar la sentencia CASE, pero he buscado y rebuscado algo que sea similar al TRANFORM y PIVOT de Access, pero no encuentro nada. Las sentencias de Access se hacen más compactas y rápidas que el CASE de SQL Server 7.0.
Ojalá me puedas ayudar con algún ejemplo o proporcionarme una paginita donde pueda encontrar información sobre las referencias cruzadas en SQL Server 7.0
1 Respuesta
Respuesta de nanuck
1