PDA

Ver la Versión Completa : Problema con MAX(campo_fecha)


MaMu
21-05-2008, 07:13:57
Yo hago esta consulta, para determinar los gastos de una tabla de compras:


select distinct C.concepto,C.rubro,
(select sum(A.cantidad) from caja A where A.concepto=C.concepto) as Cantidad,
(select sum(B.importe) from caja B where B.concepto=C.concepto) as Subtotal,
(select sum(D.importe) from caja D where D.movimiento="EGRESO") as Total,
(select max(E.fecha) from caja E where E.concepto=C.concepto) as UltimaFecha
from caja C where C.movimiento="EGRESO" order by C.rubro, C.concepto


el tema esta que esta linea, no me devuelve ningun resultado:

(select max(E.fecha) from caja E where E.concepto=C.concepto) as UltimaFecha

y no se porque, que estoy haciendo mal? lo demas me funciona perfecto.
He quitado el MAX y obviamente me salta el error de que puede devolver más de un registro, por ende, datos hay.

Saludos

duilioisola
21-05-2008, 09:33:15
Primero mira cuales son los conceptos posibles con
select distinct C.concepto,C.rubro,
from caja C where C.movimiento="EGRESO"
order by C.rubro, C.concepto

Luego prueba el select con esos conceptos para ver si devuelve algo.

select fecha from caja where concepto=XXX
(reemplaza XXX por algún concepto.)

Supongo que el problema es que no hay datos para esos conceptos o alguna fecha es null.

MaMu
21-05-2008, 09:48:14
Primero mira cuales son los conceptos posibles...
Luego prueba el select con esos conceptos para ver si devuelve algo.

Supongo que el problema es que no hay datos para esos conceptos o alguna fecha es null.

Probe las consultas, y me devuelve la fecha. Revise la tabla, no hay ninguna fecha NULL, y hay datos para todos los conceptos.
No se que estoy haciendo mal.

MaMu
21-05-2008, 10:01:51
SOLUCIONADO

La causa no la se, pero despues de probar un par de veces la consulta, magicamente empezo a funcionar.