Update de contar varios registos de T1 a T2

23/04/2005 - 20:04 por J Lara | Informe spam
Tengo una consulta de 2 tablas, una tabla
es de clientes(T1.C1), y el campo que me interesa
es la cantidad de que veces nos visita, en la
segunda tabla (T2.C2) hay un campo que
se debe actualizar en forma manual anotando
el total de visitas que tuvo, osea que
si nos visito toda la semana en el T1,C1
debe haber 6 registros con el dato 1 en cada dia,
y en la T2.C2 se debe anotar el 6, Esto no siempre esta
actualizado y deseo ejecutar un update
para hacerlo automaticamente, el siguiente
script me actaliza ese dato pero en forma
erronea ya que me anota todas las visitas
de todos los clientes en todos los campos
de la tabla2 (T2.C2)
Osea si en total hubiera 10 clientes con 6
visitas cada uno a la semana me anota
el dato 60 en cada uno de los codigos de
clientes (T2.C2` repetido en todos)

Este es el Script erroneo:

update T1 set C1=(SELECT Count(T2.C2) FROM T2 T2
WHERE (T2.C2=1 and T2.C3 {ID}='X'))
where T1.C3 {ID}='X'

Como le haria para que el cliente 1 me le
anote sus visitas en la tabla2 y el cliente
2 en su respectiva registros y asi sucecivamente.
cabe mencionar que T1.C1 es el campo donde
saco el count para enviar a T2.C2 y el C3
es el ID.

Mil gracias por su apoyo.

Saludos.
 

Leer las respuestas

#1 Maxi
23/04/2005 - 21:13 | Informe spam
Hola, podrias hacer algo asi como:

update T1 set C1= TX.VALOR
FROM T1,(SELECT COUNT(*),ID FROM T2 GROUP BY ID) TX
WHERE TX.ID = T1.ID




Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas
Msn:

"J Lara" escribió en el mensaje
news:
Tengo una consulta de 2 tablas, una tabla
es de clientes(T1.C1), y el campo que me interesa
es la cantidad de que veces nos visita, en la
segunda tabla (T2.C2) hay un campo que
se debe actualizar en forma manual anotando
el total de visitas que tuvo, osea que
si nos visito toda la semana en el T1,C1
debe haber 6 registros con el dato 1 en cada dia,
y en la T2.C2 se debe anotar el 6, Esto no siempre esta
actualizado y deseo ejecutar un update
para hacerlo automaticamente, el siguiente
script me actaliza ese dato pero en forma
erronea ya que me anota todas las visitas
de todos los clientes en todos los campos
de la tabla2 (T2.C2)
Osea si en total hubiera 10 clientes con 6
visitas cada uno a la semana me anota
el dato 60 en cada uno de los codigos de
clientes (T2.C2` repetido en todos)

Este es el Script erroneo:

update T1 set C1=(SELECT Count(T2.C2) FROM T2 T2
WHERE (T2.C2=1 and T2.C3 {ID}='X'))
where T1.C3 {ID}='X'

Como le haria para que el cliente 1 me le
anote sus visitas en la tabla2 y el cliente
2 en su respectiva registros y asi sucecivamente.
cabe mencionar que T1.C1 es el campo donde
saco el count para enviar a T2.C2 y el C3
es el ID.

Mil gracias por su apoyo.

Saludos.


Preguntas similares