Insertar counts de otra tabla

06/06/2005 - 18:15 por J Lara | Informe spam
Tengo una consulta que involucra 3 tablas, pero utilizo
la tabla 1 que actualizo de la tabla 2 y la tabla 3 solo
me sirve para filtrar (not in) un registro que no deseo
se actualize a la tabla1.

Tabla 1: contiene las areas de servicio que manejamos por
ejemplo limpieza, farmacia y Ferreteria cada una con sus
respectivos codigos de productos que se manejan.

Tabla 2: van todos los codigos de productos de las areas
de la tabla1

La idea es insertar el total de productos vendidos (count)
a su respectiva area, pero en cada area tengo un codigo
respectivo tipo generico que ese NO deseo agregarlo en el
count

Tabla 3: el nombre de todos los productos de la tabla 2
esta tabla la utilizo solo para filtrar el nombre del codigo
generico que no deseo.

la consulta es algo asi:

update tabla1 set tabla1.campo1(
SELECT Count(tabla2.Campo2)
FROM Tabla3 Tabla3, Tabla2 Tabla2
WHERE Tabla3.Campo3(ID) = Tabla2.Campo3(ID)
AND ((Tabla2.Campo2="prods ferreteria" )
AND (Tabla3.Campo4(generico) Not Like 'Generico%')))

)
where Tabla1.Campox(Venta)>0


En este ejemplo estoy actualizando el total de productos
vendidos del area de ferreteria pero tratando de dejar
el producto generico (codigo que utilizan cuando no
esta dado de alta algun producto)y el where final es
que la venta sea mayor que $0.

El gran problema que tengo es que si el total a actualizar
por el area de ferreteria fuera 50 esta cifra la agrega
a todas las areas y no nada mas a la que le corresponde.

osea ferreteriaP, farmaciaP y limpiezP

Alguien me podria ayudar al respecto ??

Mil gracias por su apoyo.

Saludos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
06/06/2005 - 18:30 | Informe spam
Trata,

update tabla1 set tabla1.campo1(
SELECT
Count(tabla2.Campo2)
FROM
Tabla3 Tabla3
inner join
Tabla2
on Tabla3.Campo3(ID) = Tabla2.Campo3(ID)
WHERE
AND ((Tabla2.Campo2="prods ferreteria" )
AND (Tabla3.Campo4(generico) Not Like 'Generico%')))
and tabla2.area_de_servicio = tabla1.area_de_servicio
)
where
tabla1.area_de_servicio = 'ferreteria'
and Tabla1.Campox(Venta)>0


AMB

"J Lara" wrote:

Mostrar la cita
#2 J Lara
06/06/2005 - 23:24 | Informe spam
Alejandro, ya hice pruebas como me indicas pero ahora
me envia errores en el inner join como que me falta
enlasar o unir las tres tablas, el select que tengo
despues del update si lo ejecuto por separado si me envia
el resultado del count correcto lo malo es que me lo
replica a todos los productos.

Gracias por tu ayuda.

Saludos.




"Alejandro Mesa" escribió:

Mostrar la cita
#3 Alejandro Mesa
07/06/2005 - 14:39 | Informe spam
j Lara,

Puedes postear la definicion de las tablas involucradas asi como un ejemplo
de la data y los resultados esperados?


AMB

"J Lara" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida