hrr 0 Denunciar post Postado Janeiro 21, 2010 Ola.. Boa tarde... Tenho a seguinte instrução SQL.... SELECT SUBSTRING(A.Fantasia,1,25) AS EMPRESA, SUM(C.QTDECONSULTAS) AS VALOR01,'' AS VALOR02 FROM TABELA01 C INNER JOIN TABELA02 A ON A.Codigo = C.CodOrigem WHERE (C.DATA >= '18/01/2010 00:00:00' AND C.DATA <= '20/01/2010 23:59:00') AND C.CodEvento = '16011' GROUP BY SUBSTRING(A.Fantasia,1,25) UNION SELECT SUBSTRING(A.Fantasia,1,25) AS EMPRESA, '' AS VALOR01,SUM(C.QTDECONSULTAS) AS VALOR02 FROM TABELA01 C INNER JOIN TABELA02 A ON A.Codigo = C.CodOrigem WHERE (C.DATA >= '18/01/2010 00:00:00' AND C.DATA <= '20/01/2010 23:59:00') AND C.CodEvento = '16002' GROUP BY SUBSTRING(A.Fantasia,1,25) ORDER BY SUBSTRING(A.Fantasia,1,25) Gostaria que os valores das colunas valor01 e valor02 sejam gerados na mesma linha.... Esta ocorrendo que quando existem dois valores a serem listados (valor01 e valor02) para a mesma empresa ele cria duas linhas..veja... EMPRESA VALOR01 VALOR02 LOJA SILVA 0 6 LOJA SILVA 1 0 E O CORRETO SERIA: EMPRESA VALOR01 VALOR02 LOJA SILVA 1 6 Desde ja agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 21, 2010 Tente : SELECT * FROM ( SELECT SUBSTRING(A.Fantasia,1,25) AS EMPRESA, SUM(C.QTDECONSULTAS) AS VALOR01,'' AS VALOR02 FROM TABELA01 C INNER JOIN TABELA02 A ON A.Codigo = C.CodOrigem WHERE (C.DATA >= '18/01/2010 00:00:00' AND C.DATA <= '20/01/2010 23:59:00') AND C.CodEvento = '16011' GROUP BY SUBSTRING(A.Fantasia,1,25) ) AAA, (SELECT SUBSTRING(A.Fantasia,1,25) AS EMPRESA, '' AS VALOR01,SUM(C.QTDECONSULTAS) AS VALOR02 FROM TABELA01 C INNER JOIN TABELA02 A ON A.Codigo = C.CodOrigem WHERE (C.DATA >= '18/01/2010 00:00:00' AND C.DATA <= '20/01/2010 23:59:00') AND C.CodEvento = '16002' GROUP BY SUBSTRING(A.Fantasia,1,25) ) BBB WHERE AAA.EMPRESA = BBB.EMPRESA Por favor poste em apenas um sub-fórum, grato. Compartilhar este post Link para o post Compartilhar em outros sites