SQL Server - Insert múltiple de un monto total.

   
Vista:
Imágen de perfil de Jonatan

Insert múltiple de un monto total.

Publicado por Jonatan (5 intervenciones) el 10/09/2012 18:13:39
Buenas tardes a todos,

Hace poco comencé a trabajar con T-SQL y se me presentó el siguiente problema:

Tengo 4 variables tipo TABLE, por ejemplo V1,V2,V3 y V4. Las cuales tienen 2 campos:

amount numeric(18,2),
invoiceId varchar(17)

Necesito sumar el amount de cada variable e insertarlo en el campo amount de una quinta variable TABLE (V5) , que contendrá el totalAmount. Estos serían los datos que pueden tener estas variables, solo incluyo dos filas para cada variable en este ejemplo con un monto y un Id por fila:

V1, V2, V3 y V4:
amount - invoiceId amount - invoiceId amount - invoiceId amount - invoiceId
350.56 - 0000023 345.321 - 000023 65.23 - 0000023 876.21 - 00000023
235.21 - 0000003 876.34 - 000003 21.34 - 0000003 987.67 - 00000003



V5.
totalAmount - invoiceId
34534.56 - 000023
3453.23 - 000003

El totalAmount de V5 contendrá la suma total de los amount de las otras tablas con el mismo invoiceId.

Esto lo tengo dentro de un StoredProcedure. ¿De que manera puedo armar este INSERT múltiple sobre V5, de modo tal que los datos queden cargados de esa forma?


Desde ya agradezco sus respuestas.
Saludos,

Jonatan
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 Isaias

Insert múltiple de un monto total.

Publicado por Isaias (3180 intervenciones) el 11/09/2012 20:33:26
Bueno, con un simple UNION

INSERT INTO V5
SELECT invoiceid, sum(amount) from v1 group by invoiceid
UNION
SELECT invoiceid, sum(amount) from v2 group by invoiceid
UNION
SELECT invoiceid, sum(amount) from v3 group by invoiceid
etc
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 Jonatan

Insert múltiple de un monto total.

Publicado por Jonatan (5 intervenciones) el 12/09/2012 14:10:09
Isaias,

Muchas gracias por tu respuesta ¿Otra opción podría haber sido haciendo un JOIN entre las 4 variables y en el SELECT sumar los 4 amount? Ese total, lo insertaria en totalAmount de V5.



Gracias,
Saludos.
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

Insert múltiple de un monto total.

Publicado por Isaias (3180 intervenciones) el 12/09/2012 19:55:51
De acuerdo, usando JOIN se puede resolver, siempre y cuando las tablas se puedan unir mediante algun campo en comun.

Saludos
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