SQL com erro de INVALID IDENTIFIER quando tento comparar datas em tabelas distintas
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
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
Curtidas 0
Respostas
Jair N.
29/04/2020
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).
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).
GOSTEI 0
Vitor Leite
29/04/2020
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).
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
GOSTEI 0
Jair N.
29/04/2020
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.
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.
GOSTEI 0