Somar campo usando Union
Tenho uma pesquisa da seguinte forma
select CODIGO, NOME, QUANTIDADE from Vendas
UNION
select CODIGO, NOME, QUANTIDADE from Compras
CONTEUDO DAS TABELAS:
VENDAS
01 TELEFONE 1 (CODIGO, NOME, QUANTIDADE)
COMPRAS
01 TELEFONE 1 (CODIGO, NOME, QUANTIDADE)
Ou seja, tenho registros iguais para as duas tabelas. Eu preciso que o resultado da pesquisa some a quantidade em produtos iguais. Ex.
01 TELEFONE 2
Se eu utilizar apenas UNION ele mostra só um registro e se utilizar UNION ALL ele mostra os dois registros.
Alguem tem alguma dica???
Obrigado,
select CODIGO, NOME, QUANTIDADE from Vendas
UNION
select CODIGO, NOME, QUANTIDADE from Compras
CONTEUDO DAS TABELAS:
VENDAS
01 TELEFONE 1 (CODIGO, NOME, QUANTIDADE)
COMPRAS
01 TELEFONE 1 (CODIGO, NOME, QUANTIDADE)
Ou seja, tenho registros iguais para as duas tabelas. Eu preciso que o resultado da pesquisa some a quantidade em produtos iguais. Ex.
01 TELEFONE 2
Se eu utilizar apenas UNION ele mostra só um registro e se utilizar UNION ALL ele mostra os dois registros.
Alguem tem alguma dica???
Obrigado,
Mcd
Curtidas 0
Melhor post
Kotho
01/04/2004
se o banco for firebird, faça assim:
select CODIGO, NOME, SUM(QUANTIDADE)
from (
select CODIGO, NOME, QUANTIDADE from Vendas
UNION
select CODIGO, NOME, QUANTIDADE from Compras
)
group by CODIGO, NOME
se for access, crie uma consulta com o select interno...
se for paradox... se mate.... hehehehe :lol:
select CODIGO, NOME, SUM(QUANTIDADE)
from (
select CODIGO, NOME, QUANTIDADE from Vendas
UNION
select CODIGO, NOME, QUANTIDADE from Compras
)
group by CODIGO, NOME
se for access, crie uma consulta com o select interno...
se for paradox... se mate.... hehehehe :lol:
GOSTEI 1
Mais Respostas
Mcd
01/04/2004
Desculpe, postei no fórum errado. Mas mesmo assim se aguem puder me dar uma dica agradeço....
GOSTEI 0
Mcd
01/04/2004
Meu banco é Firebird 1.0 e fiz uma simulação conforme vocêm mencionou, porém dá erro dizendo que não conhece o caracter após o primeiro from...
Alguma idéia do que pode ter dado errado ?
Obrigado...
Alguma idéia do que pode ter dado errado ?
Obrigado...
GOSTEI 0
Kotho
01/04/2004
eu sempre esqueco que o Firebird não suporta esse tipo de select, mas tem um jeito...
crie uma VIEW como comando:
da faça:
crie uma VIEW como comando:
CREATE VIEW NOME_DA_VIEW AS SELECT...
da faça:
SELECT ... FROM NOME_DA_VIEW ...
GOSTEI 1
Matheus Neves
01/04/2004
Bom dia,
estou seguido se raciocino se somar usando union, mas esta dando erro:
ERROR: syntax error at or near "group"
LINE 6: group by mes
^
********** Error **********
ERROR: syntax error at or near "group"
SQL state: 42601
Character: 293
olha com esta meu codigo:
select extract(month from data_emissao)as mes, sum(1*valor)
from(select extract(month from data_emissao), valor
from financeiro_entradas where data_baixa is not null) f union all
(select extract(month from data_emissao), valor*(-1)
from financeiro_saidas where data_baixa is not null)
group by mes
order by mes
estou seguido se raciocino se somar usando union, mas esta dando erro:
ERROR: syntax error at or near "group"
LINE 6: group by mes
^
********** Error **********
ERROR: syntax error at or near "group"
SQL state: 42601
Character: 293
olha com esta meu codigo:
select extract(month from data_emissao)as mes, sum(1*valor)
from(select extract(month from data_emissao), valor
from financeiro_entradas where data_baixa is not null) f union all
(select extract(month from data_emissao), valor*(-1)
from financeiro_saidas where data_baixa is not null)
group by mes
order by mes
GOSTEI 0