Prueba:
Código sql:
Ver originalSELECT CLIENTE, SUM29, SUM30, SUM60, SUM90
FROM
(SELECT cliente, SUM(importe) SUM29
FROM comunes!previ_cl
WHERE banco=" " AND vencim BETWEEN (emision) AND (emision+29) GROUP BY cliente) AS t1
LEFT JOIN
(SELECT cliente, SUM(importe) SUM30
FROM comunes!previ_cl
WHERE banco=" " AND vencim BETWEEN (emision+30) AND (emision+60) GROUP BY cliente) T2
ON T1.CLIENTE = T2.CLIENTE
LEFT JOIN
(SELECT cliente, SUM(importe) SUM60
FROM comunes!previ_cl
WHERE banco=" " AND vencim BETWEEN (emision+61) AND (emision+90) GROUP BY cliente) T3
ON T1.CLIENTE = T3.CLIENTE
LEFT JOIN
(SELECT cliente, SUM(importe) SUM90
FROM comunes!previ_cl
WHERE banco=" " AND vencim > (emision+90) GROUP BY cliente) T4
ON T1.CLIENTE = T4.CLIENTE;
el problema fundamental puede darse sin la primera de las tablas no devuelve alguno de los clientes de las tres siguientes.
Para que esto funcionase bien, habría que hacer un LEFT JOIN entre la tabla de clientes y la primera de estas consultas... Pero la solución que yo le encuentro está dentro de este esquema.