Sumar BaseImponible en la tabla completa de facturas desde lineas de factura

16/11/2004 - 23:42 por Jose Luis | Informe spam
Tengo un 'pequeño' problema com mi primer proyecto sql, es algo que me
parece sencillo pero no consigo realizarlo.

Tengo un tabla de Facturas con su campo de clave primaria Facturas.FacturaID
y una tabla de LineasFacturas hija relacionada con la tabla Facturas por el
mismo campo LineasFacturas.FacturaID

Lo que quiero es actualizar el campo Facturas.BaseImponible con la suma del
campo LineasFacturas.Importe para TODAS las Facturas de la tabla con una
unica instruccion SQL

No se si esto es posible, he hojeado los BOL y en la descripcion de la
instruccion UPDATE hay un ejemplo similar, o eso creo.

El caso es que no consigo que funcione, lo he intentado con varias
combinaciones y no hay manera, este ha sido mi ultimo intento:

UPDATE Facturas
SET Facturas.BaseImponible = ( SELECT SUM( LineasFacturas.Importe )
FROM LineasFacturas,Facturas
WHERE Facturas.FacturaID LineasFacturas.FacturaID)
FROM LineasFacturas,Facturas
WHERE Facturas.FacturaID = LineasFacturas.FacturaID

esto me suma el total de TODAS las lineas en cada una de las facturas

Si lo intento con GROUP BY tras el primer WHERE me da el error de que la
consulta devuelve mas de un valor, en fin que no se como hacer esto.

Alguna idea?
 

Leer las respuestas

#1 Isaias
17/11/2004 - 01:56 | Informe spam
Tal vez:

UPDATE Facturas SET Facturas.BaseImponible = X.TOTAL
FROM Facturas JOIN (SELECT LineasFacturas.FacturaID, SUM(
LineasFacturas.Importe ) AS TOTAL
FROM LineasFacturas GROUP BY LineasFacturas.FacturaID) AS X
ON Facturas.FacturaID = X.FacturaID

Preguntas similares