Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tywin

Dois SELECT's "iguais" apresentado resultados diferentes

Recommended Posts

Então Motta.

 

Eu fiz isso, veja:

 

SELECT DATA_PAGAMENTO,
   SUM(CASE WHEN TIPO = 'P' THEN VALOR ELSE 0 END) PAGAR,
   SUM(CASE WHEN TIPO = 'R' THEN VALOR ELSE 0 END) RECEBER
FROM
(SELECT 'P' TIPO, DATA_PAGAMENTO, VALOR
FROM TBL_CONTAS_PAGAR
WHERE STATUS IN (3) 
AND DATA_PAGAMENTO BETWEEN CONVERT(DATETIME, '01/01/2013', 103) AND CONVERT(DATETIME, '31/05/2013', 103) 
UNION 
SELECT 'R' TIPO, DATA_RECEB, VALOR_LIQUIDO AS VALOR
FROM TBL_CONTAS_RECEBER
WHERE ID_STATUS IN (8)
AND DATA_RECEB BETWEEN CONVERT(DATETIME, '01/01/2013', 103) AND CONVERT(DATETIME, '31/05/2013', 103) 
) VIRTUAL
GROUP BY DATA_PAGAMENTO
ORDER BY DATA_PAGAMENTO DESC

 

 

Deu certo até... só estou encanado com um dado aqui que não está somando.

Por exemplo, nessa linha:

 

O nome da Coluna na tabela Contas a Receber é VALOR_LIQUIDO e não VALOR.

Daí está mostrando 875,00 em vez de 1750,00. Existem duas contas recebidas nesse dia, mas está mostrando uma só por assim dizer. Não está somando.

   SUM(CASE WHEN TIPO = 'P' THEN VALOR ELSE 0 END) PAGAR,
   SUM(CASE WHEN TIPO = 'R' THEN VALOR ELSE 0 END) RECEBER


Interessante que só acontece com esse valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A data tem data e hora ? Ttente um trunc na data

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem Data e Hora 00:00:00, em todas !



Consegui.

 

Coloquei UNION 'ALL'

 

Obrigado Motta.

 

Solved

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faria sentido pois o literal do "TIPO" dos 2 select sempre os tormam diferentes.

Mas se funcionou deixa queito !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.