Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal!
Meu select é este:
SELECT * FROM (`site_link` A) INNER JOIN `site_categoria` C ON `C`.`catCod` = `A`.`catCod` WHERE `lnkAtivoData` = '2013-01-15' AND `lnkAtivo` = 1 AND `lnkAprovado` = 1 AND `catCod` = '18' ORDER BY `A`.`lnkCod` desc LIMIT 1000
Mas não fui que fiz e por isso não estou entendendo essa parte: INNER JOIN site_categoria C ON C.catCod = A.catCod
Meu problema com ela é que se vocês repararem, eu adicionei catCod` = '18 ali no final do WHERE.
Aí quando eu tento carregar a pagina da esse erro:
Column 'catCod' in where clause is ambiguous
Se eu tirar o INNER JOIN site_categoria C ON C.catCod = A.catCod também dá erro porque foi feito para usar com ele.
Quero saber o que fazer para corrigir isso de forma que não dê mais:
Column 'catCod' in where clause is ambiguous
Desde já obrigado.
Acontece que há 2 tabelas com a coluna[inline]catCod[/inline] no SELECT, e se você não especificar qual deseja, o mecanismo do SGBD não tem como saber.
Como os valores de ambas as colunas são iguais, basta você prefixar com o alias que você deu para qualquer uma das tabelas:
AND A.catCod = '18'
quando vc tem nomes de campos iguais em tabelas diferentes vc precisa dizer de qual tabela vem o campo
INNER JOINsite_categoriaC ONC.catCod=A.catCodWHERElnkAtivoData= '2013-01-15' ANDlnkAtivo= 1 ANDlnkAprovado= 1 AND c.catCod= '18' ORDER BYA.lnkCoddesc LIMIT 1000