Ir para conteúdo

POWERED BY:

Arquivado

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

Jullyene

[Resolvido] Incorrect syntax near the keyword 'WHERE'.

Recommended Posts

olá gente, bom dia....

to com um erro aparentemente muito simples, porem fiz varios testes e nao consigo detectar onde esta o erro..

talvez seja alguma virgula, ponto, parenteses ou qq outra coisa a mais...

segue a parte do codigo que esta dando erro.....

quem puder me ajudar ficaria grata....

att...

 

 

SELECT.... campos, .......,....,...,...., DATA5

 

FROM...., tabelas e relacionamentos

 

LEFT OUTER JOIN

SUBTABELA 1....

 

LEFT OUTER JOIN

SUBTABELA 2....

 

LEFT OUTER JOIN

SUBTABELA 3....

 

LEFT OUTER JOIN

SUBTABELA 4....

 

-- E ABAIXO SUBTABELA 5....

 

*********************

LEFT OUTER JOIN

(SELECT CODIGOPESSOA, CASE WHEN(CASE WHEN NUMERODOSE = 5 AND CODIGOVACINA = 1 THEN DATAPLICACAO + 3650 ELSE NULL END) <> DATAPLICACAO THEN DATAPLICACAO

ELSE (CASE WHEN NUMERODOSE = 5 AND CODIGOVACINA = 1 THEN DATAPLICACAO + 3650 ELSE NULL END) END DATA5 FROM CONTROLEVACINAL

FULL OUTER JOIN PESSOA ON CONTROLEVACINAL.CODIGOPESSOA = PESSOA.CODIGO

WHERE (CODIGOVACINA = 1 AND NUMERODOSE = 5) AND (CODIGOPESSOA = PESSOA.CODIGO))E

 

WHERE CONTROLEVACINAL.CODIGOVACINA = '1'

AND CONTROLEVACINAL..DATAPLICACAO >= '01-01-2007'

AND CONTROLEVACINAL..DATAPLICACAO <= '01-01-2009'

*********************

 

O ERRO CONSTA NO WHERE EM NEGRITO....

E ESTE É A MENSAGEM DE ERRO: (Incorrect syntax near the keyword 'WHERE'.)

 

 

Aguardo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Jullyene

 

Voce cita no seu codigo:

 

WHERE (CODIGOVACINA = 1 AND NUMERODOSE = 5) AND (CODIGOPESSOA = PESSOA.CODIGO))

E

WHERE CONTROLEVACINAL.CODIGOVACINA = '1'
AND CONTROLEVACINAL..DATAPLICACAO >= '01-01-2007'
AND CONTROLEVACINAL..DATAPLICACAO <= '01-01-2009

Tem um E ali no meio... tira ele :)

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Jullyene

 

Voce cita no seu codigo:

 

WHERE (CODIGOVACINA = 1 AND NUMERODOSE = 5) AND (CODIGOPESSOA = PESSOA.CODIGO))

E

WHERE CONTROLEVACINAL.CODIGOVACINA = '1'
AND CONTROLEVACINAL..DATAPLICACAO >= '01-01-2007'
AND CONTROLEVACINAL..DATAPLICACAO <= '01-01-2009

Tem um E ali no meio... tira ele :)

 

Abçs

olaaaaa...td bem?

 

entao este E é o nome dado a quinta subtabela que criei....

cada subtabela recebeu um nome e a quinta recebeu o nome de E.

mas obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI GENTE....

 

 

JA RESOLVI O PROBLEMA DE HJ DE MANHA....

 

 

(SELECT CODIGOPESSOA, CASE WHEN(CASE WHEN NUMERODOSE = 5 AND CODIGOVACINA = 1 THEN DATAPLICACAO + 3650 ELSE NULL END) <> DATAPLICACAO THEN DATAPLICACAO

ELSE (CASE WHEN NUMERODOSE = 5 AND CODIGOVACINA = 1 THEN DATAPLICACAO + 3650 ELSE NULL END) END DATA5 FROM CONTROLEVACINAL

FULL OUTER JOIN PESSOA ON CONTROLEVACINAL.CODIGOPESSOA = PESSOA.CODIGO

 

 

WHERE (CODIGOVACINA = 1 AND NUMERODOSE = 5) AND

(CODIGOPESSOA = PESSOA.CODIGO))E ON (CONTROLEVACINAL.CODIGOPESSOA = E.CODIGOPESSOA)

 

 

FALTOU: ON (CONTROLEVACINAL.CODIGOPESSOA = E.CODIGOPESSOA)

 

 

O QUE FALTOU ERA A REFERENCIA ENTRE A TABELA "MASTER" E AS SUBTABELAS CRIADAS! NESTE EXEMPLO A SUBTABELA NOMEADA E.

 

 

OBRIGADA A TODOS!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu. como nao tinha o codigo todo pensei que fosse um "e" e nao um "alias"

 

Abçs

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.