Problema com Calculo em Sub-Select

13/06/2008

0

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

Responder

Posts

14/06/2008

Emerson Nascimento

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



Responder

19/06/2008

Murilo-jau

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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar