Esto es una consulta...

0 comentarios
y lo demás son tonterias
SELECT .ZZTableEAreas.DepCod, .ZZTableDepar.DepDes, .ZZTableDepar.DepTxCod, .XXTABLAOferta.OfeTxCod, .XXTABLAProyec.ProTxCod, .XXTABLAProyec.ProAcro, .XXTABLAPerson.PerNombre, SUM(ISNULL( .XXTABLAProAPer.PAPHorRev, 0)) AS Expr1, .ZZTableCatego.CatTxCod, .ZZTableECatTar.ECTImpo, '' AS Estado, 0 AS Expr2, ZZTableEAreas1.DepCod AS Expr3 FROM .XXTABLAProAPer INNER JOIN .XXTABLAProyec ON .XXTABLAProAPer.ProCod = .XXTABLAProyec.ProCod INNER JOIN .XXTABLAOferta ON .XXTABLAProyec.OfeCod = .XXTABLAOferta.OfeCod INNER JOIN .XXTABLAPerson ON .XXTABLAProAPer.PerCod = .XXTABLAPerson.PerCod INNER JOIN .ZZTableEAreas ON .XXTABLAProyec.EjeCod = .ZZTableEAreas.EjeCod AND .XXTABLAProyec.AreCod = .ZZTableEAreas.AreCod INNER JOIN .ZZTableCatego ON .XXTABLAProAPer.CatCod = .ZZTableCatego.CatCod INNER JOIN .ZZTableECatTar ON .XXTABLAProAPer.CatCod = .ZZTableECatTar.CatCod AND .XXTABLAProAPer.PAPAnio = .ZZTableECatTar.EjeCod INNER JOIN .ZZTableDepar ON .ZZTableEAreas.DepCod = .ZZTableDepar.DepCod INNER JOIN .XXTABLAPerEArea ON .XXTABLAPerson.PerCod = .XXTABLAPerEArea.PerCod INNER JOIN .ZZTableEAreas ZZTableEAreas1 ON .XXTABLAPerEArea.EjeCod = ZZTableEAreas1.EjeCod AND .XXTABLAPerEArea.AreCod = ZZTableEAreas1.AreCod WHERE ( .XXTABLAProAPer.PAPAnio = 2004) AND ( .ZZTableEAreas.DepCod = 2) AND ( .XXTABLAProAPer.PAPAnio = 2004) AND ( .ZZTableEAreas.DepCod = 2) AND ( .ZZTableECatTar.TarCod = 11) AND (2004 BETWEEN { fn YEAR( .XXTABLAPerEArea.PEAFDesde) } AND { fn YEAR( .XXTABLAPerEArea.PEAFHasta) }) OR (2004 >= .XXTABLAPerEArea.PEAFDesde) AND ( .XXTABLAPerEArea.PEAFHasta IS NULL) AND PEAFDesde IN (SELECT MAX(PEAFDesde) FROM XXTABLAPerEArea WHERE (2004 BETWEEN { fn YEAR( .XXTABLAPerEArea.PEAFDesde) } AND { fn YEAR( .XXTABLAPerEArea.PEAFHasta) }) OR (2004 >= .XXTABLAPerEArea.PEAFDesde) AND ( .XXTABLAPerEArea.PEAFHasta IS NULL) AND XXTABLAPerson.PerCod = XXTABLAPerEArea.PerCod) GROUP BY .ZZTableEAreas.DepCod, .ZZTableDepar.DepDes, .ZZTableDepar.DepTxCod, .XXTABLAOferta.OfeTxCod, .XXTABLAProyec.ProTxCod, .XXTABLAProyec.ProAcro, .XXTABLAPerson.PerNombre, .ZZTableCatego.CatTxCod, .ZZTableECatTar.ECTImpo, ZZTableEAreas1.DepCod UNION SELECT DISTINCT .ZZTableEAreas.DepCod, .ZZTableDepar.DepDes, .ZZTableDepar.DepTxCod, .XXTABLAOferta.OfeTxCod, .XXTABLAProyec.ProTxCod, .XXTABLAProyec.ProAcro, .XXTABLAPerson.PerNombre, SUM(ISNULL( .XXTABLAProAPer.PAPHorRev, 0)) AS Expr1, .ZZTableCatego.CatTxCod, .ZZTableECatTar.ECTImpo, '' AS Estado, 0 AS Expr2, 0 AS Expr3 FROM .XXTABLAProAPer INNER JOIN .XXTABLAProyec ON .XXTABLAProAPer.ProCod = .XXTABLAProyec.ProCod INNER JOIN .XXTABLAOferta ON .XXTABLAProyec.OfeCod = .XXTABLAOferta.OfeCod INNER JOIN .XXTABLAPerson ON .XXTABLAProAPer.PerCod = .XXTABLAPerson.PerCod INNER JOIN .ZZTableEAreas ON .XXTABLAProyec.EjeCod = .ZZTableEAreas.EjeCod AND .XXTABLAProyec.AreCod = .ZZTableEAreas.AreCod INNER JOIN .ZZTableCatego ON .XXTABLAProAPer.CatCod = .ZZTableCatego.CatCod INNER JOIN .ZZTableECatTar ON .XXTABLAProAPer.CatCod = .ZZTableECatTar.CatCod AND .XXTABLAProAPer.PAPAnio = .ZZTableECatTar.EjeCod INNER JOIN .ZZTableDepar ON .ZZTableEAreas.DepCod = .ZZTableDepar.DepCod INNER JOIN .XXTABLAPerEArea ON .XXTABLAPerson.PerCod = .XXTABLAPerEArea.PerCod INNER JOIN .ZZTableEAreas ZZTableEAreas1 ON .XXTABLAPerEArea.EjeCod = ZZTableEAreas1.EjeCod AND .XXTABLAPerEArea.AreCod = ZZTableEAreas1.AreCod WHERE ( .XXTABLAProAPer.PAPAnio = 2004) AND ( .ZZTableEAreas.DepCod = 2) AND ( .ZZTableEAreas.DepCod = 2) AND ( .ZZTableECatTar.TarCod = 11) AND ( .XXTABLAProAPer.PerCod IN (SELECT DISTINCT PerCOd FROM XXTABLAPerEArea WHERE PerCod NOT IN (SELECT DISTINCT PerCod FROM .XXTABLAPerEArea WHERE (2004 BETWEEN YEAR(PEAFDesde) AND YEAR(PEAFHasta)) OR (2004 >= YEAR(PEAFDesde) AND PEAFHasta IS NULL)))) GROUP BY .ZZTableEAreas.DepCod, .ZZTableDepar.DepDes, .ZZTableDepar.DepTxCod, .XXTABLAOferta.OfeTxCod, .XXTABLAProyec.ProTxCod, .XXTABLAProyec.ProAcro, .XXTABLAPerson.PerNombre, .ZZTableCatego.CatTxCod, .ZZTableECatTar.ECTImpo, ZZTableEAreas1.DepCod, .XXTABLAProAPEr.PAPAnio ORDER BY .ZZTableEAreas.DepCod, .ZZTableDepar.DepDes, .ZZTableDepar.DepTxCod, .XXTABLAOferta.OfeTxCod, .XXTABLAProyec.ProTxCod, .XXTABLAPerson.PerNombre

0 comentarios:

Publicar un comentario en la entrada

Creative Commons License
Esta obra está bajo una licencia de Creative Commons
El autor no se hace responsable de los comentarios de terceras personas.
Blogger Template by Noct.