Informix - Como podria sacar...

 
Vista:

Como podria sacar...

Publicado por Sergio (1 intervención) el 12/02/2003 14:57:34
Hola,

Como puedo sacar en una tabla que contiene fechas, de las cuales la mayoria estan repetidas, el numero de fechas introducidas sin contar con las repetidas?

He intententado hacer un group by del campo fecha y en el select hacerle un count a este mismo campo, pero el resultado que me da es erroneo.

Esta tabla es de lineas de factura y tendria que sacar el numero de lineas introducidas por cada usuario en un intervalo de fechas (ya resuelto) y el total de dias en que las ha introducido (Puede ser que en un intervalo de 5 dias haya introducido 100 lineas en total en solo 2 dias y los otros tres dias no haya introducido ninguna).

Espero haber sido claro, agradeceria vuestra ayuda.

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como podria sacar...

Publicado por cvargas (10 intervenciones) el 18/03/2003 18:56:40
Amigo Sergio:

Te sugiero no hacer un GROUP BY tomando en cuenta el campo usuario, me explico:

SELECT usuario, fecha, count(*) FROM lineas_factura
WHERE fecha >= var_fecha_inicio
AND fecha <= var_fecha_fin
GROUP BY usuario, fecha
ORDER BY usuario

... ya que como tu mismo mensionas "Puede ser que en un intervalo de 5 dias haya introducido 100 lineas en total en solo 2 dias y los otros tres dias no haya introducido ninguna"...

Por lo tanto más práctico que hagas un barrido de la tabla de usuario, y preguntos por cada en cada fecha, cuantas líneas tiene de factura:

DECLARE cur_usuarios FOR SELECT * FROM usuarios
FOREACH cur_usuarios INTO v_usuarios.*
LET fecha_aux = fecha_inicio
FOR i = 1 TO 32
SELECT count(*) FROM lineas_factura
WHERE fecha = fecha_aux
AND usuario = v_usuarios.cod_usuario
LET fecha_aux = fecha_aux + 1
IF fecha_aux IS NULL THEN
END FOR
END IF
END FOR
END FOREACH
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar