COMPARACAO DE mês

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Ter, 12 Fev 2008 7:42 am

bOM DIA PESSOAL ESTOU COM UMA DUVIDA DE COMO MONTAR UM SELECT.

COMO PODERIA FAZER UM SELECT PRA PEGAR O FINANCEIRO DE UM CLIENTE DA SEGUINTE FORMA:

UM SELECT QUE TRAGA A DIFERENÇA DE VALOR PAGO ENTRE UM mês E OUTRO TIPO ESSE mês O CARA PAGOU 50 EU QUERO TRAZER SE CASO ESSE CARA mês PASSADO PAGOU ALGO DIFERENTE DE 50

SELECT N.VALOR FROM NOTA N WHERE N.DTNOTA = '20/03/2007' AND EXISTS(SELECT A.VALOR FROM NOTA A WHERE A.DTNOTA = '20/02/2007' AND N.VALOR <> A.VALOR )


TEM COMO FAZER ASSIM OU TEM UM JEITO MELHOR?
carlos12
Localização: rio

Mensagemem Ter, 12 Fev 2008 2:32 pm

seria mais ou menos assim:

select abs(n1.valor - (
select i2.valor from nota n2 where n2.dtnota = '20/03/2007' and rownum = 1))
from nota n1 where n1.dtnota = '20/02/2007';

coloquei o rownum = 1, porque senao da erro falando q a subquery pode retornar mais de uma linha, acho q colocando alguma função de grupo e tirando o rownum da certo também...ai caso você queira q não apareça os q são iguais, faz um select por cima desse e descarta as linhas que retornarem zero...falow
rerodrig
Localização: Americana - SP

Mensagemem Ter, 12 Fev 2008 2:37 pm

ah, só mais uma coisa, se esse campo dtnota for do tipo date precisa dar o to_char para a comparação com uma string...não sei se você colocou só pra mostrar o exemplo mas vale o aviso! falow!
rerodrig
Localização: Americana - SP



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes