Ver Mensaje Individual
  #5  
Antiguo 12-06-2008
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Reputación: 20
afxe Va por buen camino
Pues sí que estoy tonto...

Pues eso... necesitaba una vista que tenía que crearse en tiempo de ejecución para hacer un LEFT JOIN con la tabla de movimientos, y no cai que puede hacer el LEFT JOIN directamente contra una SELECT, por lo tanto, no hay que crear la vista antes, sino usar la SELECT de la vista directamente en el LEFT JOIN.... Os pongo el chorizo por si a alguien le es de utilidad:

Código:
 
    select m.cuenta,
           SUBSTRING(M.CLAVE_DEPARTAMENTO FROM 1 FOR 3) as CLAVE_DEPARTAMENTO,
           a.DPTO,
           a.porcent,
           sum(m.DEBE) as DEBE,
           Sum(m.HABER) as HABER
    from asientos m left join 
             (select CUENTA, 
                    SUBSTRING(CLAVE_DEPARTAMENTO FROM 1 FOR 3) as DPTO, 
                    SUM(PORCENTAJE) AS PORCENT 
                    FROM analitica GROUP BY 1, 2) a 
          on m.cuenta = a.cuenta and m.clave_departamento is null
    where m.ejercicio = 2008
      AND (A.DPTO <> '' OR M.CLAVE_DEPARTAMENTO <> '')
      AND M.COD_EMPRESA = 1
    group by 1, 2, 3, 4
En la cláusula WHERE de la SELECT del LEFT JOIN puedo meter las opciones de búsqueda que deseo, así como variar la longitud de la CLAVE de departamento en tiempo de ejecución.

Gracias de nuevo por vuestra ayuda.
Responder Con Cita