Ver Mensaje Individual
  #6  
Antiguo 27-07-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 20
Ivanzinho Va por buen camino
Cita:
Empezado por Guillermosalva
Habia pensado algo parecido pero el problema es que algunas veces hay 3 registros pero no son consecutivos.
Por eso mismo es por lo que te comento que despues de seleccionar los valores que tengan 3 o mas entradas en la base de datos debes recorrerlos comprobando las fechas. La cosa quedaría algo así (nunca trabaje en oracle por lo que te pongo la notación de firebird).
Código SQL [-]
parametros de salida
  fecha1, fecha2, fecha3 : Date;
  nombre : VarChar;
Variables
  fecha : Date;
for select nombre 
    from tabla
    group by nombre
    having count(*) > 2 
    into :nombre do
  begin
    fecha1 = null;
    fecha2 = null;
    fecha3 = null;
    for select fecha 
        from tabla
        where nombre = :nombre
        order by fecha
        into :fecha do begin
      begin
        fecha1 = fecha2;
        fecha2 = fecha3;
        fecha1 = fecha;

        if ((fecha1 = fecha2 + 1) and (fecha2 = fecha3 + 1)) then
          suspend;
      end
  end

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita