Duvidas Com Consulta SUM

Firebird

25/07/2008

Boa Noite amigos...

Estou com um probleminha aqui, sou iniciante em SQL e gostaria de fazer o seguinte:

Tenho um módulo de Planejamento para Agronegócios onde faço os orçamentos da Fazenda sendo os Itens(tabelas), FERTILIZANTES, DEFENSIVOS, MAQUINAS, PESSOAS.

Cada item me traz os custos da produção: custo por saca, custo por hectare, custo por talhao. O que eu preciso é da soma destes custos por orcamento, vejam como estou tentando fazer:

select sum(tb_item_orc_fert.custo_saca)as ´Fertilizantes´, sum(tb_item_orc_def.custo_saca)as ´Defensivos´, sum(tb_item_orc_pessoa.custo_saca)as ´Pessoas´, sum(tb_item_orc_maq.custo_saca)as ´Maquinas´ from tb_item_orc_fert, tb_item_orc_def, tb_item_orc_pessoa, tb_item_orc_maq group by tb_item_orc_fert.cod_orcamento;


este código me retorna as colunas certinho, porém os resultados são totalmente errados ex: custo da saca do primeiro orcamento teria de ser 37,50 esta saindo 323.403,771.

Creio q o erro esteja no ´group by´ pois quando faço com somente uma tabela da certinho.

se alguem puder ajudar, desde já agradeço, abraço!!!

desde já agradeço


Wadojr

Wadojr

Curtidas 0

Respostas

Luciano.lirio

Luciano.lirio

25/07/2008

vc tem quer fazer o link das tabelas, pesquisa o comando INNER JOIN.


GOSTEI 0
Wadojr

Wadojr

25/07/2008

Ola amigo...

como funciona o INNER JOIN ??

pode me dar um pequeno exemplo pra ver se consigo pegar no tranco aqui... hehehe...


Obrigado!!!


GOSTEI 0
Luciano.lirio

Luciano.lirio

25/07/2008

wadojr, tenta usar a consulta dessa forma, fica difícil sem a tabela para eu ver, o problema da soma absulra é o link das tabelas que não está sendo feito.

select TAB_ORCA.cod_orcamento
       (select sum(tb_item_orc_fert.custo_saca)   from tb_item_orc_fert   where tb_item_orc_fert.cod_orcamento   = TAB_ORCA.cod_orcamento) as "Fertilizantes", 
       (select sum(tb_item_orc_def.custo_saca)    from tb_item_orc_def    where tb_item_orc_def.cod_orcamento    = TAB_ORCA.cod_orcamento) as "Defensivos", 
       (select sum(tb_item_orc_pessoa.custo_saca) from tb_item_orc_pessoa where tb_item_orc_pessoa.cod_orcamento = TAB_ORCA.cod_orcamento) as "Pessoas", 
       (select sum(tb_item_orc_maq.custo_saca)    from tb_item_orc_maq    where tb_item_orc_maq.cod_orcamento    = TAB_ORCA.cod_orcamento) as "Maquinas"
  from TAB_ORCA



GOSTEI 0
Luciano.lirio

Luciano.lirio

25/07/2008

esqueci, na TAB_ORCA coloque o nome da tua tabela principal de orçamentos.


GOSTEI 0
Wadojr

Wadojr

25/07/2008

Amigão, vc entendeu certinho meu problema, é exatamente isso que eu estava precisando.

Muito obrigado pela solução e estou as ordens para o que precisar.


e parabens pela sua interpretação!!! muito profissional, obrigado!


GOSTEI 0
POSTAR