Consulta de actualización (UPDATE). ¡¡ Ayuda por favor !!

10/01/2005 - 23:12 por Mauricio López [uy] | Informe spam
Amigos:

Necesito actualizar el campo Total de la tabla tblFacturas con la suma de los importe de cada
una de las líneas que esta entidad contiene. Este importe sólo se obtiene multiplicando el campo
Cantidad de la tabla tblLineas por el campo Precio de la tabla tblArticulos.

Hace horas que estoy tratando de hacer la consulta y no me ha salido más que esto que no
funciona:

UPDATE tblFacturas
SET Total = (SELECT tblArticulos.Precio * tblLineas.Cantidad
FROM tblLineas INNER JOIN tblArticulos
ON tblArticulos.Id = tblLineas.IdArticulo
GROUP BY IdFactura) :-( No se me ocurrió nada más

Describo los campos relacionados de las tablas:

tblFacturas:
Id
Total

tblLineas:
-
Id
IdFactura
IdArticulo
Cantidad

tblArticulos:
Id
Precio

Desde ya agradezco mucho su ayuda, ya que estoy muy trancado con esto.



Saludos!

Mauricio López
Maldonado - Uruguay

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
11/01/2005 - 00:02 | Informe spam
Hola,

usando la bd Northwind, he añadido a la tabla Orders una columna Total; mira
a ver si alguno de estos dos ejemplos te sirve (no he aplicado el descuento
de Northwind):

alter table Orders
add Total money
go

update Orders
set Orders.Total ( select sum(od.UnitPrice * od.Quantity) Suma from [Order Details] od
where od.OrderId = Orders.OrderId )
go

update o
set o.Total = od.Suma
from Orders o inner join
(select od.OrderId, sum(od.UnitPrice * od.Quantity) Suma from [Order
Details] od group by od.OrderId) od
on o.OrderId = od.OrderId
go

select od.OrderID, o.OrderId, avg(o.Total), sum(od.UnitPrice * od.Quantity)
Suma from [Order Details] od
inner join Orders o on o.OrderId = od.OrderId
group by od.OrderId, o.OrderId



Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Mauricio López [uy]" wrote in message
news:
Amigos:

Necesito actualizar el campo Total de la tabla tblFacturas con la


suma de los importe de cada
una de las líneas que esta entidad contiene. Este importe sólo se obtiene


multiplicando el campo
Cantidad de la tabla tblLineas por el campo Precio de la tabla


tblArticulos.

Hace horas que estoy tratando de hacer la consulta y no me ha


salido más que esto que no
funciona:

UPDATE tblFacturas
SET Total = (SELECT tblArticulos.Precio * tblLineas.Cantidad
FROM tblLineas INNER JOIN tblArticulos
ON tblArticulos.Id = tblLineas.IdArticulo
GROUP BY IdFactura) :-( No se me ocurrió nada más

Describo los campos relacionados de las tablas:

tblFacturas:
Id
Total

tblLineas:
-
Id
IdFactura
IdArticulo
Cantidad

tblArticulos:
Id
Precio

Desde ya agradezco mucho su ayuda, ya que estoy muy trancado con


esto.



Saludos!

Mauricio López
Maldonado - Uruguay


Respuesta Responder a este mensaje
#2 Mauricio López [uy]
13/01/2005 - 23:45 | Informe spam
Gracias, lo voy a probar ;-)



Saludos!

Mauricio López
Maldonado - Uruguay
-
Hola,

usando la bd Northwind, he añadido a la tabla Orders una columna Total; mira
a ver si alguno de estos dos ejemplos te sirve (no he aplicado el descuento
de Northwind):

alter table Orders
add Total money
go

update Orders
set Orders.Total ( select sum(od.UnitPrice * od.Quantity) Suma from [Order Details] od
where od.OrderId = Orders.OrderId )
go

update o
set o.Total = od.Suma
from Orders o inner join
(select od.OrderId, sum(od.UnitPrice * od.Quantity) Suma from [Order
Details] od group by od.OrderId) od
on o.OrderId = od.OrderId
go

select od.OrderID, o.OrderId, avg(o.Total), sum(od.UnitPrice * od.Quantity)
Suma from [Order Details] od
inner join Orders o on o.OrderId = od.OrderId
group by od.OrderId, o.OrderId



Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Mauricio López [uy]" wrote in message
news:
Amigos:

Necesito actualizar el campo Total de la tabla tblFacturas con la


suma de los importe de cada
una de las líneas que esta entidad contiene. Este importe sólo se obtiene


multiplicando el campo
Cantidad de la tabla tblLineas por el campo Precio de la tabla


tblArticulos.

Hace horas que estoy tratando de hacer la consulta y no me ha


salido más que esto que no
funciona:

UPDATE tblFacturas
SET Total = (SELECT tblArticulos.Precio * tblLineas.Cantidad
FROM tblLineas INNER JOIN tblArticulos
ON tblArticulos.Id = tblLineas.IdArticulo
GROUP BY IdFactura) :-( No se me ocurrió nada más

Describo los campos relacionados de las tablas:

tblFacturas:
Id
Total

tblLineas:
-
Id
IdFactura
IdArticulo
Cantidad

tblArticulos:
Id
Precio

Desde ya agradezco mucho su ayuda, ya que estoy muy trancado con


esto.



Saludos!

Mauricio López
Maldonado - Uruguay


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida