Sobre SQL...
Pessoal tenho um SQL como segue....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 from Tabela1
select campo1, sum(campo2) as SumCampo2, (SumCampo2 - campo1) as CampoProblematico from Tabela1
Bruno Belchior
Curtidas 0
Respostas
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
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
30/09/2005
na verdade eu usei agregãção só como exemplo... pq na realidade estou precisando é de um subselect...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...
select campo1, (select campo2 from tabela2) from tabela1
GOSTEI 0
Dante_us
30/09/2005
me add no msn david_dante@hotmail.com
GOSTEI 0
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...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.
select campo1, (select campo2 from tabela2) from tabela1
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
30/09/2005
A expressão precisa ser repetida
é justamente o que estou fazendo...GOSTEI 0