Olá pessoal! Estou com um problema na minha consulta com inner join, só estou conseguindo fazer a consulta quando o campo do where é nome os outros campos ele diz que o campo não foi encontrado na clausula where. segue o código:
select
ef.CODREGISTRO as cod_registro, ef.CODCOLIGADA as coligada, f.NOME as nome, ef.CODEPI as cod_epi,
ef.DATARETIRADA as dt_retirada, ef.DATADEVOLUCAO as dt_devolucao, ef.CA as ca
from
vcatalogepi_pfunc ef inner join pfunc f
on
ef.CODCOLIGADA = f.CODCOLIGADA and ef.CHAPA = f.CHAPA where nome = ‘maria’;
Se cada tabela tem um campo nome, o mysql vai se perder por não saber qual deles você quer, da mesma forma que você marcou f.NOME no select, precisa indicar de qual tabela ele vem…
Mas porque funciona com nome? exemplo:
where nome = ‘maria’;
e com a coligada só funciona assim:
where ef.CODCOLIGADA = 1;
Por que eu achava que quando vc renomeia as colunas vc pode usar com o nome renomeado