SQL - Sintaxis en el Update

 
Vista:

Sintaxis en el Update

Publicado por Berenice M. (2 intervenciones) el 03/02/2006 19:54:18
Hola

La verdad es que se poco sobre SQL, y tengo una duda con una consulta, tengo una tabla de historial de llamadas hechas a clientes (cobranza), en la tabla historial, tengo un campo autonumerico para ir identificando las historias, algo así

TABLA HISTORIAL

Num_historial num_cliente comentario fecha accion_realizada ultima_accion_realizada
1 1 NO CONTESTA 01/ENE/06 800 800
2 2 PROMESA PAGO01/ENE/06 823 823
3 3 NO CONTESTA 01/ENE/06 800 800
4 1 SE DEJO RECADO 05/ENE/06 826 826
5 3 SE DEJO RECADO 05/ENE/06 826 826
6 2 PAGO COMPLETO 06/ENE/06 802 802

Como se puede apreciar, en el historial un cliente aparece muchas veces, yo quiero hacer una consulta de accion, para cambiar el numero de la última accion, y que quede "0" en todas las acciones anteriores, y que el numero de la última acción solamente quede en el último registro del historial del cliente. Algo asi

TABLA HISTORIAL

Num_historial num_cliente comentario fecha accion_realizada ultima_accion_realizada
1 1 NO CONTESTA 01/ENE/06 800 0
2 2 PROMESA PAGO01/ENE/06 823 0
3 3 NO CONTESTA 01/ENE/06 800 0
4 1 SE DEJO RECADO 05/ENE/06 826 826
5 3 SE DEJO RECADO 05/ENE/06 826 826
6 2 PAGO COMPLETO 06/ENE/06 802 802

Ya tengo la idea lo hice asi:

UPDATE History SET Last_action=0 where Client_key = Clients.Client_key And Date < Now( )

pero como puede haber dos historias para el mismo cliente con la misma fecha, no me funcionaría, necesito basarlo en el num_historial, la pregunta es:

¿Como puedo determinar en esa instruccion del update, cual es el num_historial mayor? con un MAX? como es la sintaxis?

ojala haya podido explicarme y que alguien pueda ayudarme con esa sintaxis,

Gracias
Berenice
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:Sintaxis en el Update

Publicado por Isaías (5072 intervenciones) el 04/02/2006 00:13:46
Creo que seria algo asi:

UPDATE History SET Last_action=0
FROM History JOIN (SELECT num_cliente, max(fecha) FROM History GROUP BY num_cliente) as LastFecha
ON History.num_cliente = LastFecha.num_cliente
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

RE:Sintaxis en el Update

Publicado por Isaías (5072 intervenciones) el 04/02/2006 00:15:28
Creo que falta un "AND"

UPDATE History SET Last_action=0
FROM History JOIN (SELECT num_cliente, max(fecha) as fecha FROM History GROUP BY num_cliente) as LastFecha
ON History.num_cliente = LastFecha.num_cliente
AND History.fecha = LastFecha.fecha
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

RE:Sintaxis en el Update

Publicado por Berenice M. (2 intervenciones) el 07/02/2006 03:03:13
Gracias por responder Isaías, checaré de esta forma y ya les contaré el resultado, saludos
Berenice M.
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