Primer Problema: todas las facturas me caen en el rango de 30 dias sin importar que la factura tenga mas de 45 dias o 60 que existen en la base de datos:
Código SQL
[-]SELECT CASACOMERCIAL, FACTURA,
CASE WHEN datediff( FECHAFACTURA, CurDate( ) ) < 30
THEN VALOR
ELSE 0
END AS dias30,
CASE WHEN datediff( FECHAFACTURA, Curdate( ) )
BETWEEN 31
AND 45
THEN VALOR
ELSE 0
END AS dias45,
CASE WHEN datediff( FECHAFACTURA, Curdate( ) )
BETWEEN 46
AND 60
THEN VALOR
ELSE 0
END AS dias60,
CASE WHEN datediff( FECHAFACTURA, CurDate( ) )
BETWEEN 61
AND 90
THEN VALOR
ELSE 0
END AS dias90,
CASE WHEN datediff( FECHAFACTURA, CurDate( ) )
BETWEEN 91
AND 120
THEN VALOR
ELSE 0
END AS dias120,
CASE WHEN datediff( FECHAFACTURA, CurDate( ) ) > 120
THEN VALOR
ELSE 0
END AS mas120
FROM tabla2
Saludos.