Buenas tardes, tengo un par de problems.
Tengo 4 tablas. DEP con (ID,NOM),SUR con (ID,IDDEP), LLE con (ID,IDDEP,LIT,FEC) y REP(ID,IDSUR,LIT,FEC).Las claves ajenas son ID+nomtabla
Le voy a pasar por parámetros el NOM de la tabla DEP y y una fecha cualquiera. Necesito sacar la suma de los litros de LLE, la suma de los litros de REP, y la diferencia de las dos, según depósito y hasta la fecha introducida.
Esta es la solución que me han dado:
Código SQL
[-]Select Dep.Id, Isnull(LLE.SumLitLLe,0) SumLitLle,
isnull(Rep.SumLitRep,0) SumLitRep,
Isnull(LLE.SumLitLLe,0) - isnull(Rep.SumLitRep,0) LitDif
From Dep As Dep
Left Join (
Select Id, Sum(Lit) As SumLitLLe
From LLE
Where Fec >= :FecIni And
Fec <= :FecIni
) LLE
On Dep.Id = LLE.Id
Left Join (
Select Id, Sum(Lit) As SumLitRep
From Rep
Where Fec >= :FecIni And
Fec <= :FecIni
) Rep
On Dep.Id = Rep.Id
Where Dep.Nom = :Nom
Pero Firebird 1.5 no admite el left join(select , como lo podría hacerlo en una consulta?
Y mi segunda duda es que si me instalo firebird 2.1 (que me han recomendado para solucionar este problema), perdería las bases que tengo hechas en 1.5? tendría que hacer algun tipo de instalación extra? IBexpert funcionaría igual?O no cambia nada en ese sentido? Gracias y perdón por la duplicidad de posts.