SELECT COM 2 CAMPOS, MES E ANO.

F001E 20/04/2015 14:05:03
#446018
Boa tarde a todos...
Tenho uma tabela de lançamentos onde tenho 2 campos. Um campo é o Mês e o outro campo é o Ano.
Preciso selecionar os registro dentro desse intervalo 11/2014 até 11/2015.
Então fiz assim....

SELECT A.* FROM Tributario_Lancamento A
INNER JOIN Tributario_Cadastro_Economico B
ON B.ID_CADASTRO_ECONOMICO = A.ID_CADASTRO_ECONOMICO
INNER JOIN Tributario_Situacao_Lancamento C
ON C.ID_SITUACAO_LANCAMENTO = A.ID_SITUACAO_LANCAMENTO
WHERE A.ID_SITUACAO_LANCAMENTO = 1
AND PARCELA_UNICA = 1
AND ((ANO_EXERCICIO_FISCAL >= 2014
AND MES_FISCAL >= 11)
OR (ANO_EXERCICIO_FISCAL <= 2015
AND MES_FISCAL <= 11))
ORDER BY A.ID_LANCAMENTO,A.ID_TRIBUTO,ANO_EXERCICIO_FISCAL,MES_FISCAL

Seria para Selecionar 11/2014, 12/2014 até 11/2015, mas esta entrando 06/2014, 03/2015 no select também.
Hoje Segunda-Feria, dia 20 de Abril, amanhã feriado....minha cabeça esta no XBox One que chegou na Sexta-Feira,heheheh.....alguém tem uma luz para resolver isso ?

JABA 20/04/2015 16:38:03
#446020
Resposta escolhida
Coloque um AND no lugar do OR, assim:

SELECT A.* FROM Tributario_Lancamento A
INNER JOIN Tributario_Cadastro_Economico B
ON B.ID_CADASTRO_ECONOMICO = A.ID_CADASTRO_ECONOMICO
INNER JOIN Tributario_Situacao_Lancamento C
ON C.ID_SITUACAO_LANCAMENTO = A.ID_SITUACAO_LANCAMENTO
WHERE A.ID_SITUACAO_LANCAMENTO = 1
AND PARCELA_UNICA = 1
AND ((ANO_EXERCICIO_FISCAL >= 2014
AND MES_FISCAL >= 11)
AND (ANO_EXERCICIO_FISCAL <= 2015
AND MES_FISCAL <= 11))
ORDER BY A.ID_LANCAMENTO,A.ID_TRIBUTO,ANO_EXERCICIO_FISCAL,MES_FISCAL
TIAGOFAC 20/04/2015 16:50:48
#446021
Qual o banco de dados?
F001E 20/04/2015 18:15:27
#446023
Jaba já coloquei o AND e não funcionou, mas ja resolvi ficou assim....

SELECT A.* FROM Tributario_Lancamento A
INNER JOIN Tributario_Cadastro_Economico B
ON B.ID_CADASTRO_ECONOMICO = A.ID_CADASTRO_ECONOMICO
INNER JOIN Tributario_Situacao_Lancamento C
ON C.ID_SITUACAO_LANCAMENTO = A.ID_SITUACAO_LANCAMENTO
WHERE A.ID_SITUACAO_LANCAMENTO = 1
AND PARCELA_UNICA = 1
AND (((ANO_EXERCICIO_FISCAL > 2014
AND ANO_EXERCICIO_FISCAL < 2015)
OR (ANO_EXERCICIO_FISCAL = 2014
AND MES_FISCAL >= 11))
OR (ANO_EXERCICIO_FISCAL = 2015
AND MES_FISCAL <= 11))
AND A.ID_CADASTRO_ECONOMICO = 21
ORDER BY A.ID_LANCAMENTO,A.ID_TRIBUTO,ANO_EXERCICIO_FISCAL,MES_FISCAL
Tópico encerrado , respostas não são mais permitidas