Fórum Group by #347278
12/10/2007
0
Exemplo:
select nome_classe,sum(valor) as total from caixa
group by nome_classe
union all
select nome_classe,sum(valor) as total from banco
group by nome_classe
[color=red:a7204ba9e3][b:a7204ba9e3]um group by dos dois select[/b:a7204ba9e3][/color:a7204ba9e3]
Desde ja muito obrigado
Luciano Ramos
Luciano.sul
Curtir tópico
+ 0Posts
13/10/2007
Luciano.sul
Desde ja muito obrigado
Luciano Ramos
Gostei + 0
13/10/2007
José Henrique
Você tentou usar só um group by no final para o sistema interpretar como se fosse do union (ou usar um terceiro também no final)?
Se não der certo você pode fazer em duas partes:
1 - fazer uma consulta union juntando as duas tabelas (caixa e banco)
select nome_classe, valor as total from caixa
union all
select nome_classe, valor as total from banco
2 - fazer uma consulta agregadora como a consulta resultante do item 1.
select nome_classe, sum(total) from cons_union
group by nome_classe
Gostei + 0
13/10/2007
Luciano.sul
parece facil mas nao tem jeito.[/color:600f478a4a]
Novamente obrigado :oops:
Luciano Ramos
Gostei + 0
14/10/2007
Anonymous
select nome_classe,sum(valor) as total from caixa
group by nome_classe
union all
select nome_classe,sum(valor) as total from banco
group by nome_classe
para:
SELECT
NOME_CLASSE, SUM(TOTAL) AS TOTAL
FROM
(SELECT NOME_CLASSE, SUM(VALOR) AS TOTAL FROM CAIXA
UNION ALL
SELECT NOME_CLASSE, SUM(VALOR) AS TOTAL FROM BANCO
) TMPTABLE
GROUP BY
NOME_CLASSE
mas acho que a modelagem podia ser melhor desse banco... eu uso:
tabela ´bancos´
id, nome, saldoinicia, agencia... blah, blah... classe, centro de custo...
tabela filha ´contamovimento´
data, conciliado, valor, entrada/saida, blah. blah...
ou seja, quer um caixa? faz um banco chamando ´CAIXA´ e mexe como se fosse banco.,.. :) o relatorio financeiro sai normal...
:D boa sorte!
Gostei + 0
15/10/2007
Powerlog Tecnologia
Ex (não testei a select, fiz de cabeça agora):
Select razao as descricao, cnpj as identidade, sum(limite) as totli from fornecedores union all select nome as descricao, cpf as identidade, sum(limite) as totli from clientes group by 2
No caso o [b:f0e420db52]´2´ [/b:f0e420db52] é o campo de agrupamento
Veja se ajuda
Gostei + 0
15/10/2007
Luciano.sul
Obrigado pela ajuda mas tentei fazer o que tu me indicou e deu o seguinte erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 4, char 2.
SELECT.
Testei no IBExpert
[color=darkred:b75c8973da]powerlog[/color:b75c8973da] :D
Tambem obrigado pela ajuda, só que nao deu certo, a instrucao sql me obriga a colocar o group by nos dois select
[color=red:b75c8973da]Pessoal [/color:b75c8973da] muito obrigado pelas tentativas mas uma coisa que parece ser tao facil e ao mesmo tempo ta muito dificil :oops:
Luciano Ramos :cry:
Gostei + 0
17/10/2007
Luciano.sul
Luciano Ramos
Gostei + 0
17/10/2007
Steve_narancic
Gostei + 0
17/10/2007
Joaoshi
SELECT NOME_CLASSE,SUM(TOTAL) FROM
(
select nome_classe,valor as total from caixa
union all
select nome_classe,valor as total from banco
)
group by nome_classe
Espero ter ajudado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)