Problema com Calculo em Sub-Select

SQL Server

13/06/2008

Pessoal, estou convertendo um SQL de ORACLE para MSSQL e o SQL está + - assim:

Select A.campo1,
A.campo2,
( Select SUM( B.campo1 * C.campo1 )
from B
where B.Campo2 = C.campo2 )
From A , C , D
where A.campo4 = D.campo4
and C.campo5 = A.campo5

Mas da este erro:
´Multiple columns are specified in an aggregated expression ...´

Pois a tabela C esta declarada no From do 1º select e ele tem seus relacionamentos.


Alguem ai pode me ajudar ???


Murilo-jau

Murilo-jau

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

13/06/2008

tente assim:
Select
  A.campo1,
  A.campo2,
  (Select SUM(B.campo1)
   from B
   where B.Campo2 = C.campo2) * C.campo1
From
  A, C, D
where
  A.campo4 = D.campo4
  and C.campo5 = A.campo5

ou assim:
Select
  A.campo1,
  A.campo2,
  sum(B.campo1 * C.campo1)
From
  A
inner join
  C on C.campo5 = A.campo5
inner join
  D on D.campo4 = A.campo4
inner join
  B on B.Campo2 = C.campo2
group by
  A.campo1,
  A.campo2



GOSTEI 0
Murilo-jau

Murilo-jau

13/06/2008

Obrigado Emerson, como o sql tem mais de 300 linhas useu seu primeiro exemplo e deu certo !!!


GOSTEI 0
POSTAR