Instruccion SQL que me tiene loco

29/10/2003 - 10:20 por Sanchez Arnoletto Martin Rodrigo | Informe spam
Hola grupo:
Estoy en SQL server 2000 y tengo que hacer un calculo compejo:

en la instruccion:
SELECT CANTIDAD * ISNULL
((SELECT precio
FROM costosprov
WHERE idcomponente armado.com_idcomponente AND predeterminado= 1), 0) AS precio
FROM ARMADO
WHERE (IDCOMPONENTE = 'A0401.0010')

esto da un listado de valores con los precios totales de un componente ( el
'A0401.0010')

pero lo que necesito es LA SUMATORIA de esos valores en una variable

la instruccion:
SELECT sum (CANTIDAD * ISNULL
((SELECT precio
FROM costosprov
WHERE idcomponente armado.com_idcomponente AND predeterminado= 1), 0)) AS precio
FROM ARMADO
WHERE (IDCOMPONENTE = 'A0401.0010')
era la solucion que habia pensado, pero me devuelve un error que dice que no
se pueden usar subconsultas dentro de una instruccion SUM

como puedo armarlo? algunas ideas?

Gracias desde ya

Saludos...



Ing. Martin Rodrigo Sanchez Arnoletto
Islas Baleares - España
mrsarnolettoQUITAR@hotmail.QUITARcom
 

Leer las respuestas

#1 Rubén Vigón
29/10/2003 - 10:41 | Informe spam
Puedes utilizar tu consulta actual como tabla de origen para otra consulta donde hagas el SUM; por
ejemplo:

SELECT SUM(subcons.Precio) AS Total FROM
(
SELECT Cantidad * ISNULL(
(
SELECT Precio
FROM Costosprov
WHERE IdComponente = Armado.Com_IdComponente
AND Predeterminado= 1
), 0) AS Precio
FROM Armado
WHERE IdComponente = 'A0401.0010'
) AS subcons

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic

Preguntas similares