Unir duas Tabelas Firebird
Bom Dia!!!
Estou com a seguinte situação, preciso juntar duas tabelas para criar um relatório para faturamento por exemplo
Cupom Fiscal: R$ 1.300,00
Nota Eletrônica: R$ 5.000,00
O select individual está ok, porém não estou conseguindo juntar, alguém poderia me ajudar nessa?
Segue os códigos:
Nota Eletrônica:
SELECT VENDAS.CFOPS,
SUM (TOTAL) AS VALOR_TOTAL FROM VENDAS
WHERE (EMISSAO >= '06/01/2014' AND EMISSAO <= '06/30/2014') AND
(VENDAS.CFOPS='5102' OR VENDAS.CFOPS='6102') AND VENDAS.CANCELADO = '0'
GROUP BY VENDAS.CFOPS
Cupom Fiscal:
SELECT VENDAS_ECF.TOT_VENDA FROM VENDAS_ECF
WHERE (DATA >= '06/01/2014' AND DATA <= '06/30/2014') AND
VENDAS_ECF.CANCELADO ='0'
Estou com a seguinte situação, preciso juntar duas tabelas para criar um relatório para faturamento por exemplo
Cupom Fiscal: R$ 1.300,00
Nota Eletrônica: R$ 5.000,00
O select individual está ok, porém não estou conseguindo juntar, alguém poderia me ajudar nessa?
Segue os códigos:
Nota Eletrônica:
SELECT VENDAS.CFOPS,
SUM (TOTAL) AS VALOR_TOTAL FROM VENDAS
WHERE (EMISSAO >= '06/01/2014' AND EMISSAO <= '06/30/2014') AND
(VENDAS.CFOPS='5102' OR VENDAS.CFOPS='6102') AND VENDAS.CANCELADO = '0'
GROUP BY VENDAS.CFOPS
Cupom Fiscal:
SELECT VENDAS_ECF.TOT_VENDA FROM VENDAS_ECF
WHERE (DATA >= '06/01/2014' AND DATA <= '06/30/2014') AND
VENDAS_ECF.CANCELADO ='0'
David Sobral
Curtidas 0
Respostas
Renato Rubinho
01/08/2014
Buenas,
Use "UNION ALL" entre os selects.
Obs: Ambos tem que ter os mesmos tipos de campos nas colunas dos resultados. No exemplo, coloquei "0000" na coluna que seria o cfop do ecf.
Abraççç,
Renato
Use "UNION ALL" entre os selects.
Obs: Ambos tem que ter os mesmos tipos de campos nas colunas dos resultados. No exemplo, coloquei "0000" na coluna que seria o cfop do ecf.
SELECT VENDAS.CFOPS, SUM(TOTAL) AS VALOR_TOTAL FROM VENDAS WHERE (EMISSAO >= '06/01/2014' AND EMISSAO <= '06/30/2014') AND (VENDAS.CFOPS='5102' OR VENDAS.CFOPS='6102') AND VENDAS.CANCELADO = '0' GROUP BY VENDAS.CFOPS UNION ALL SELECT '0000', VENDAS_ECF.TOT_VENDA FROM VENDAS_ECF WHERE (DATA >= '06/01/2014' AND DATA <= '06/30/2014') AND VENDAS_ECF.CANCELADO ='0'
Abraççç,
Renato
GOSTEI 0
David Sobral
01/08/2014
Renato
Quanto o código ficou perfeito, porém não estou conseguindo separar as colunas para deixar o que é venda de Nota eletrônica e cupom,[img]http://arquivo.devmedia.com.br/forum/imagem/0-20140804-085508.png[/img]
Teria que ter outra coluna só para N_caixa, por exemplo
Quanto o código ficou perfeito, porém não estou conseguindo separar as colunas para deixar o que é venda de Nota eletrônica e cupom,[img]http://arquivo.devmedia.com.br/forum/imagem/0-20140804-085508.png[/img]
Teria que ter outra coluna só para N_caixa, por exemplo
GOSTEI 0
Renato Rubinho
01/08/2014
Isso mesmo. Para identificar, precisa adicionar uma coluna para distinguir os registros.
Ex:
Ex:
SELECT VENDAS.CFOPS, 'NFE' AS ORIGEM, SUM(TOTAL) AS VALOR_TOTAL FROM VENDAS WHERE (EMISSAO >= '06/01/2014' AND EMISSAO <= '06/30/2014') AND (VENDAS.CFOPS='5102' OR VENDAS.CFOPS='6102') AND VENDAS.CANCELADO = '0' GROUP BY VENDAS.CFOPS UNION ALL SELECT '0000', 'ECF' AS ORIGEM, VENDAS_ECF.TOT_VENDA FROM VENDAS_ECF WHERE (DATA >= '06/01/2014' AND DATA <= '06/30/2014') AND VENDAS_ECF.CANCELADO ='0'
GOSTEI 0
Alisson Santos
01/08/2014
Qual a visão que vai ter o seu relatório, pois no caso desse select ele vai retornar tudo que foi NFE tudo que foi ECF e assim por diante. O seu relatório terá que ser separado por origem e ai colocado um grupo para separar cada um que seria legal.
GOSTEI 0