SQL com erro de INVALID IDENTIFIER quando tento comparar datas em tabelas distintas

29/04/2020

0

Estou usando o select abaixo em um script um pouco maior. Preciso que os campos de data MOI_DTA_ENTRADA_SAIDA e PIT.DTA_ULT_COMPRA sejam iguais pra que no resultado venha apenas o número da última NF de compra do item, sem essa condição ele está razendo todas as compras e da erro quando adiciono esse select no script maior.

Tentei usar TO_DATE e outras coisas que vi aqui no forúm e nenhum funcionou. Geralmente o pessoal pega um campo e compara com datas digitadas, eu preciso que ele busque a data de um campo em outra tabela. Dessa forma eu não encontrei como fazer aqui no forúm. Perdão se for repetido mas não achei.


SELECT
NUMERO_NOTA_FISCAL

FROM
FAT_MOVIMENTO_ITEM MOI

inner join
PEC_ITEM_REVENDA PIT on
(MOI.EMPRESA = PIT.EMPRESA
AND MOI.REVENDA = PIT.REVENDA
AND MOI.ITEM_ESTOQUE = PIT.ITEM_ESTOQUE)

WHERE
MOI.TIPO_TRANSACAO = 'P01'
AND MOI.EMPRESA = 3
AND MOI.REVENDA = 1
AND PIT.ITEM_ESTOQUE = '152085758R'

AND MOI_DTA_ENTRADA_SAIDA = PIT.DTA_ULT_COMPRA ********* ORA-00904: "MOI_DTA_ENTRADA_SAIDA" invalid identifier
Vitor Leite

Vitor Leite

Responder

Posts

29/04/2020

Jair N.

Bom Dia, pura falta de atenção
Veja na cláusula WHERE " MOI_DTA_ENTRADA_SAIDA" correto " MOI.DTA_ENTRADA_SAIDA"

tu colocou o caractere "underline" onde deveria ser o "ponto" separando o atributo (campo coluna) da entidade (apelido tabela).
Responder

29/04/2020

Vitor Leite

Bom Dia, pura falta de atenção
Veja na cláusula WHERE " MOI_DTA_ENTRADA_SAIDA" correto " MOI.DTA_ENTRADA_SAIDA"

tu colocou o caractere "underline" onde deveria ser o "ponto" separando o atributo (campo coluna) da entidade (apelido tabela).



Perdão, no script que coloquei aqui no forum está com "_" mas rodando no programa está com "." e o erro é o mesmo.

Deve ter algum jeito de fazer isso usando TO_DATE mas eu não sei como é.


ORA-00904: "MOI"."DTA_ENTRADA_SAIDA" : invalid identifier
Responder

29/04/2020

Jair N.

Bem, afinal qual ocorrência poderia ocasionar tal erro
1º) é o tipo de dados que foi utilizado é idêntico (este campo é do tipo data mesmo?) (data e data hora);
2º) Este campo existe na tabela de origem, nome de coluna incomparável com sintaxe de relacionamento;

Se possível mostra a estrutura da tabelas relacionados com
Ex: Entidade, Atributos e Tipos Tamanho Etc..

Assim, do jeito que está é só especulação, não dá simplesmente para saber o problema.

Atc.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar