J Vitor 0 Denunciar post Postado Abril 10, 2013 Bom dia pessoal. Me ajudem, por favor. Tenho as tabelas : TABELA 1: DATA: 20130301 CODIGO: 001 VALOR: 20 DATA: 20130301 CODIGO: 001 VALOR: 10 DATA: 20130301 CODIGO: 001 VALOR: 30 TABELA 2 DATA: 20130301 CODIGO: 001 VALOR: 35 DATA: 20130301 CODIGO: 001 VALOR: 60 Eu gostaria de somar os totais de um determinado "CODIGO" por data: mais ou menos assim: tabela 1 DATA: 20130301 CODIGO: 001 TOTAL: 70 tabela 2 DATA: 20130301 CODIGO: 001 TOTAL: 95 Tentei algo como: SELECT A.DATA , B.DATA , A.CODIGO , B.CODIGO , A.VALOR , B.VALOR FROM TABELA1 A , TABELA2 B WHERE A.CODIGO = B.CODIGO GROUP BY A.CODIGO , B.CODIGO Porém , esta triplicando o valor da TABELA2 ... Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 10, 2013 UNION SELECT 'TABELA1' TABELA,COD,DATA,VALOR FROM TABELA1 UNION SELECT 'TABELA2' TABELA,COD,DATA,VALOR FROM TABELA2 Monta uma virtual SELECT TABELA,COD,DATA,VALOR FROM ( SELECT 'TABELA1' TABELA,COD,DATA,VALOR FROM TABELA1 UNION SELECT 'TABELA2' TABELA,COD,DATA,VALOR FROM TABELA2 ) VIRTUAL Sum SELECT TABELA,COD,DATA,SUM(VALOR) VALOR FROM ( SELECT 'TABELA1' TABELA,COD,DATA,VALOR FROM TABELA1 UNION SELECT 'TABELA2' TABELA,COD,DATA,VALOR FROM TABELA2 ) VIRTUAL GROUP BY TABELA,COD,DATA Compartilhar este post Link para o post Compartilhar em outros sites
J Vitor 0 Denunciar post Postado Abril 10, 2013 Motta , Valeu mesmo. O UNION funcionou perfeitamente. Conheço PL/SQL e me confundo um pouco no MYSQL. Só mais uma pergunta: Tem como formatar o resultado da consulta ? Ficou mais ou menos assim : DATA , CODIGO , VALOR Preciso de algo como: DATA , CODIGO , VALOR(TABELA1) , VALOR(TABELA2 ) Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 10, 2013 CASE SELECT COD, DATA, SUM(CASE WHEN TABELA = 'TABELA1' THEN VALOR ELSE 0 END) TABELA1, SUM(CASE WHEN TABELA = 'TABELA2' THEN VALOR ELSE 0 END) TABELA2 FROM ( SELECT 'TABELA1' TABELA,COD,DATA,VALOR FROM TABELA1 UNION SELECT 'TABELA2' TABELA,COD,DATA,VALOR FROM TABELA2 ) VIRTUAL GROUP BY COD,DATA Compartilhar este post Link para o post Compartilhar em outros sites