Sobre SQL...

Firebird

30/09/2005

Pessoal tenho um SQL como segue....
select campo1, sum(campo2) as SumCampo2 from Tabela1
E gostaria de subtrair esse campo agregado pelo campo simples, mas não sei como acessá-lo, algo como o seguinte
select campo1, sum(campo2) as SumCampo2, (SumCampo2 - campo1) as CampoProblematico from Tabela1



Bruno Belchior

Bruno Belchior

Curtidas 0

Respostas

Dante_us

Dante_us

30/09/2005

Tente um pouco mais especifico, ai poderemos lhe ajudar, nao entendi direito a sua duvida, por isso nao sei se o meu exemplo lhe ajudara.

No Firebird :

[b:03fe9bece7]select campo1, sum(campo2) as SumCampo2 from Tabela1[/b:03fe9bece7] isso é uma funcao de Grupos, entao ficaria o Seguinte:
Select Campo1,Sum(Campo2) as SumCampo2 From Tabela
Groupy By Campo1

na segunda consulta

teras que especificar o campo que deseja subtrair,

Nessa consulta ele Trara o Total do campo1 menos
o valor do campo 2 com uma clausura where para que possas especificar
o campo a ser subtraido

Select
(select sum(Campo1) from Tabela1) -
(select Campo2 from Tabela1 where cod_campo=1 )
from RDB$DATABASE


no terceiro exempo, poderas fazer o seguinte:

SELECT sum(Campo1-Campo2) FROM Tabela1
ou
SELECT sum(Campo1)-Sum(Campo2) FROM Tabela1

Isso no Firebird

Se for Oracle ou SQL Server, mande um E-mail david@maity.com.br


GOSTEI 0
Bruno Belchior

Bruno Belchior

30/09/2005

na verdade eu usei agregãção só como exemplo... pq na realidade estou precisando é de um subselect...
select campo1, (select campo2 from tabela2) from tabela1
e gostaria de trazer um terceiro campo somando o campo1 com o campo2 do subselect sem ter q usar outro subselect, aproveitando o resultado já obtido...


GOSTEI 0
Dante_us

Dante_us

30/09/2005

me add no msn david_dante@hotmail.com


GOSTEI 0
Beppe

Beppe

30/09/2005

[quote:d21b8780db=´Bruno Belchior´]na verdade eu usei agregãção só como exemplo... pq na realidade estou precisando é de um subselect...
select campo1, (select campo2 from tabela2) from tabela1
e gostaria de trazer um terceiro campo somando o campo1 com o campo2 do subselect sem ter q usar outro subselect, aproveitando o resultado já obtido...[/quote:d21b8780db]
A expressão precisa ser repetida. Não estou ciente se há simplificação de expressões no FB, mas deve haver uma vez que SQL é puramente declarativa. Se por acaso a performance for podre, experimente criar uma view com o resultado e fazer join com ela.


GOSTEI 0
Bruno Belchior

Bruno Belchior

30/09/2005

A expressão precisa ser repetida
é justamente o que estou fazendo...


GOSTEI 0
POSTAR