SQL - Trabajo sql suma de columna

 
Vista:

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 10/02/2013 04:47:24
Hola, estoy queriendo hacer un trabajo sql con dos tablas.

Tabla1
Columna1= articulo
Columna2=total

Tabla2
Columna1=articulo
Columna2=cliente
Columna3=Cantidad

Lo que quiero y no puedo es que en la tabla1 en la columna2 se sume el total de cantidades que hay en la tabla2.columna3 pero de cada articulo
use el "select sum" pero me suma toda la columna3 sin marginar el articulo
Necesito la tabla1.columna2 con el total de cada articulo. en la tabla2 se repite varias veces el articulo por que hay varios clientes.

Busque guias en este foro pero no encontre ninguna que me ayude al 100% en este caso particular. por ello pido su ayuda.

Si hay ya una respuesta o guia al respecto sobre este caso por favor dejadme link x q yo no lo e encontrado

PD: No puedo usar el where columna1 = 'nombrearticulo' Por que el nombre del articulo no es fijo. aveces cambia y tambien aparecen nuevos. Cuando se modifica y/o crea otro articulo se hace en ambas tablas al mismo tiempo asi que la relacion de tablas no se interrumpe.
GRacias.
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
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Trabajo sql suma de columna

Publicado por xve (284 intervenciones) el 10/02/2013 17:44:30
Hola Leonardo, una pregunta... en la Tabla1, hay que modificar los registros, es decir ya existen los registros, y hay que modificar el valor de la columna2 o hay que insertar todos los registros nuevo con las sumas en la Tabla1?

No indicas que motor de base de datos estas utilizando...

Si es con un insert, en mysql seria algo así:
1
2
3
4
insert into Tabla1
(Columna1, Columna2)
   values
(select Columna1, sum(Columna3) as Tota from Tabla2 GROUP BY Columna1)


Coméntanos, ok?
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

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 10/02/2013 22:57:06
Hola, es un trabajo sql trabajo con sql 2000 y quiero hacer que se ejecute cada determinado tiempo usando UPDATE el que yo hice fue este pero como comente en el inicio no me da el resultado que yo quiero:

UPDATE tabla1
SET columna2 = (select sum (columna3) from tabla2)
FROM tabla1 JOIN tabla2 ON tabla1.columna1 = tabla2.columna1
WHERE columna3 > 0;

mi idea es que en tabla1.columna2 se sume el total de cantidades que hay en tabla2.columna3 pero solo las que sean el mismo articulo en tabla1.columna1 = tabla2.columna1

Ejemplo:

Tabla1
columna1- columna2
pantalon - 5
remera - 9

Tabla1
columna1 -columna2 -columna3
pantalon - cristina - 3
remera - fabian - 3
pantalon - juan - 2
remera - luis - 6

Ese seria el resultado que deseo.

El update no es sumando... sino actualizando.
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

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 10/02/2013 23:29:12
Perdon por no aclarar. ambas tablas y sus columnas ya existen solo ay que modificarles el valor por lo solicitado...


Muchas gracias por tu atencion.
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
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Trabajo sql suma de columna

Publicado por xve (284 intervenciones) el 11/02/2013 08:05:09
Hola Leonardo, no soy un experto en sql server, pero creo que esto te serviría:
1
2
3
4
5
6
7
8
9
10
UPDATE
    Tabla1
SET
    Tabla1.Columna2 = T.Total
FROM
    Tabla1
INNER JOIN
    (select Columna1, sum(Columna3) as Tota from Tabla2 GROUP BY Columna1) as T2
ON
    Tabla1.Columna1 = Tabla2.Columna1

Coméntanos, ok?
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

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 11/02/2013 17:40:46
Hola xve,
Probe tu trabajo sql pero me salio los siguientes errores:

Servidor: mensaje 107, nivel 16, estado 2, linea 1
el prefijo de columna 'T' no coincide con un nombre de tabla o un alias usado en una consulta.
Servidor: mensaje 107, nivel 16, estado 1, linea 1
el prefijo de columna 'tabla2' no coincide con un nombre de tabla o un alias usado en una consulta.

PD: Me olvide aclarar algo.... En ambas tablas la columna1 tiene el mismo nombre. Capas eso es el problema.
Me parte la cabesa...


gRACIAS POR TU TIEMPO
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Trabajo sql suma de columna

Publicado por Isaias (1921 intervenciones) el 11/02/2013 21:36:33
Con el permiso de xve

Creo que el error es muy simple de corregir, no se que tanto dominio tengas de T-SQL, pero solo deberias cambiar la T por T2, asi de simple
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

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 11/02/2013 22:16:08
Hola Isaias, Muchas gracias por tu ayuda... el primer error se soluciono pero me sigue saltando el segundo error, el cual no toma la tabla2.

Servidor: mensaje 107, nivel 16, estado 3, linea 1
el prefijo de columna 'tabla2' no coincide con un nombre de tabla o un alias usado en una consulta.
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Trabajo sql suma de columna

Publicado por Isaias (1921 intervenciones) el 11/02/2013 22:51:02
La verdad que es muy facil de solucionar, pero bueno.


1
2
3
4
5
6
7
8
9
10
UPDATE
    Tabla1
SET
    Tabla1.Columna2 = T2.Total
FROM
    Tabla1
INNER JOIN
    (select Columna1, sum(Columna3) as Total from Tabla2 GROUP BY Columna1) as T2
ON
    Tabla1.Columna1 = T2.Columna1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Trabajo sql suma de columna

Publicado por leonardo (6 intervenciones) el 11/02/2013 23:25:14
Perfecto!! me funciono a la perfeccion!!! gracias sos un idolo!!!!
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Trabajo sql suma de columna

Publicado por Isaias (1921 intervenciones) el 12/02/2013 17:13:54
Te doy un buen consejo, lee un poco sobre MANEJO DE CONJUNTOS.
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