Ver Mensaje Individual
  #1  
Antiguo 18-04-2012
cvlaso77 cvlaso77 is offline
Miembro
NULL
 
Registrado: ago 2011
Posts: 14
Reputación: 0
cvlaso77 Va por buen camino
Como usar Update con una condicion where de la resta de dos campos

Hola a todos

Mi tabla3, NOMINA tiene entre otros los campos NOMBRE_SERVICIO, NOMBRE SERVICIO_MALO y FECHA1, FECHA2 tipo Date.
Estoy usando la sentencia Update para arreglar rápidamente el campo "NOMBRE_SERVICIO" , pero necesito arreglar solo los campos cuya diferencia de dias entre las fechas (FECHA 1 -FECHA2) sea mayor a un numero predefinido.
Mi problema es que traté de introducir el cálculo "datebetween" en la sentencia where del Update y no me funciona o hace lo mismo para todos los registros si hacerme la diferencia con los campos FECHA1 Y FECHA2 de cada registro de la tabla.
Ojala alguien me puedan dar una mano agregandome el código de esta opcion de condición a mi ejemplo si es que se puede hacer.
La otra forma que es recorrer la tabla completa y me complica por que mi tabla tiene 308.000 registros.
De antemano igual Muchas Gracias

Adjunto mi código

Código Delphi [-]
Edit3.text:= table3.fieldbyname('NOMBRE_SERVICIO').value;
Edit4.Text:= table3.fieldbyname('NOMBRE_SERVICIO_MALO').value);
    
With Query1 do
begin
   Active:=False;
   SQL.Clear;
   SQL.Add('Update NOMINA set SERVICIO= :nombre_nuevo where SERVICIO= :nombre_actual');
end;

query1.parambyname('nombre_actual').asstring:= Edit4.text; //NOMBRE DE SERVICIO MALO
query1.parambyname('nombre_nuevo').asstring:= Edit3.text;  //NOMBRE DE SERVICIO BUENO
Responder Con Cita