Hola,
Tengo esta vista constrida para sql 2000, pero al ejecutarlarla en sql
2005 salen resultados distintos, parece que no agrupa. Alguien me puede
ayudar?, existe algún convertidor de sql's de 2000 a 2005 ?
Gracias, saludos y feliz año.
SELECT TOP 100 PERCENT sqlEpigrafe.idepigrafe,
sqlEpigrafe.idsubepigrafe,
> isnull(sqlEpigrafe.idpropuesta, 0) as idpropuesta,
> isnull(sqlEpigrafe.idcertificacion, 0) as idcertificacion,
> CONVERT(varchar(10),MAX(sqlEpigrafe.fechainicio),103) as fechainicio,
> CONVERT(varchar(10),MAX(sqlEpigrafe.fechafin),103) as fechafin,
> MAX(sqlEpigrafe.tituloEpigrafe) as tituloEpigrafe,
> MAX(sqlEpigrafe.textoEpigrafe) as textoEpigrafe,
> MAX(sqlEpigrafe.tituloSubepigrafe) as tituloSubepigrafe,
> MAX(sqlEpigrafe.textoSubepigrafe) as textoSubepigrafe,
> MAX(sqlEpigrafe.codigoPres) as codigoPres,
> MAX(sqlEpigrafe.conceptoPres) as conceptoPres,
> SUM(ISNULL(sqlEpigrafe.PRES, 0)) AS presupuesto,
> SUM(isnull(sqlTotal.totalF + sqlTotal.totalN,0)) as total,
> isnull(SUM((sqlTotal.totalF + sqlTotal.totalN) * 100 /
> sqlEpigrafe.PRES),0) as porcTotal
>
> FROM (SELECT E.idepigrafe, S.idsubepigrafe, P.idpropuesta,
> C.idcertificacion, MAX(fechainicio) as fechainicio, MAX(fechafin)
as fechafin,
> MAX(E.titulo) AS tituloEpigrafe, MAX(S.titulo) AS
tituloSubepigrafe,
> MAX(E.texto) AS textoEpigrafe, MAX(S.texto) AS textoSubepigrafe,
> MAX(P.presupuesto) AS PRES, MAX(P.codigo) as codigoPres,
MAX(P.concepto)
> as conceptoPres
> FROM sge.Epigrafes E LEFT JOIN
> sge.Subepigrafes S
LEFT JOIN
> sge.PROPUESTAS P LEFT
OUTER JOIN
> sge.Propuestas_certificaciones PC INNER JOIN
> sge.Certificaciones C
> ON C.idcertificacion = PC.idcertificacion ON
PC.idpropuesta > > P.idpropuesta ON P.idsubepigrafe = S.idsubepigrafe ON E.idepigrafe > > S.idepigrafe
> GROUP BY E.idepigrafe, S.idsubepigrafe,
> P.idpropuesta, C.idcertificacion) sqlEpigrafe
> INNER JOIN
> (SELECT idpropuesta, idcertificacion,
> SUM(subvencionado) AS totalF, 0 as totalN
> FROM
sge.Facturas
> GROUP BY idpropuesta,
> idcertificacion
> UNION
> SELECT N.idpropuesta,
N.idcertificacion, 0
> as totalF, SUM(subvencionadoN + subvencionadoSS) as totalN
> FROM
> sge.Personal P INNER JOIN
>
sge.Nominas N ON
> P.idpersonal = N .idpersonal
> GROUP BY N.idpropuesta,
> idcertificacion) sqlTotal
>
> ON sqlEpigrafe.idpropuesta = sqlTotal.idpropuesta AND
> sqlEpigrafe.idcertificacion = sqlTotal.idcertificacion
> GROUP BY sqlEpigrafe.idepigrafe, sqlEpigrafe.idsubepigrafe,
> sqlEpigrafe.idpropuesta, sqlEpigrafe.idcertificacion
> ORDER BY MAX(sqlEpigrafe.tituloEpigrafe),
> MAX(sqlEpigrafe.tituloSubepigrafe),
> MAX(CONVERT(real,sqlEpigrafe.codigoPres)), MAX(sqlEpigrafe.fechainicio)
Leer las respuestas