简体   繁体   中英

Sql clause with left join causing column not found

I´m trying to make a select in a bunch of tables (MySQL database) with a left join and it´s causing me a column not found:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'per_idn_validacao' in 'on clause'

Here is my sql statement:

SELECT pes_idn_pergunta_especificidade, 
pes_idn_tipo_especificidade, 
pes_idn_pergunta, 
pes_des_ordem, 
pes_flg_obrigatoriedade , 
tes_idn_tipo_especificidade, 
tes_des_descricao, 
pro_idn_programa, 
pro_des_descricao, 
per_idn_pergunta, 
per_idn_resposta, 
per_idn_validacao, 
per_idn_tipo, 
per_des_descricao, 
per_flg_autocompletar, 
per_des_ordem, 
per_des_strategy, 
per_des_hint, 
tpp_idn_tipo, 
tpp_des_descricao, 
tre_idn_tipo, 
tre_des_descricao 
FROM 
slt_pergunta_especificidade, 
slt_tipo_especificidade, 
slt_programa, slt_pergunta, 
slt_tipo_resposta, slt_tipo_pergunta 
LEFT JOIN slt_tipo_validacao ON per_idn_validacao = tvl_idn_validacao 
WHERE pro_idn_programa = tes_idn_programa 
AND tpp_idn_tipo = per_idn_tipo 
AND per_idn_pergunta = pes_idn_pergunta AND tre_idn_tipo = per_idn_resposta AND tes_idn_tipo_especificidade = pes_idn_tipo_especificidade 
AND pes_idn_tipo_especificidade = :id 
ORDER BY pes_des_ordem 

Can anyone help me through this?

Here is the query re-written using JOIN syntax only: (NOTE: The columns in the ON predicates will need to be arranged such that no column appears before the table it resides in.

SELECT pes_idn_pergunta_especificidade, 
       pes_idn_tipo_especificidade, 
       pes_idn_pergunta, 
       pes_des_ordem, 
       pes_flg_obrigatoriedade , 
       tes_idn_tipo_especificidade, 
       tes_des_descricao, 
       pro_idn_programa, 
       pro_des_descricao, 
       per_idn_pergunta, 
       per_idn_resposta, 
       per_idn_validacao, 
       per_idn_tipo, 
       per_des_descricao, 
       per_flg_autocompletar, 
       per_des_ordem, 
       per_des_strategy, 
       per_des_hint, 
       tpp_idn_tipo, 
       tpp_des_descricao, 
       tre_idn_tipo, 
       tre_des_descricao 
FROM   slt_pergunta_especificidade
JOIN   slt_tipo_especificidade
   ON  pro_idn_programa = tes_idn_programa
JOIN   slt_programa
   ON  tpp_idn_tipo = per_idn_tipo
JOIN   slt_pergunta
   ON  per_idn_pergunta = pes_idn_pergunta
JOIN   slt_tipo_resposta
   ON  tre_idn_tipo = per_idn_resposta 
JOIN   slt_tipo_pergunta
   ON  tes_idn_tipo_especificidade = pes_idn_tipo_especificidade
LEFT JOIN slt_tipo_validacao
   ON  per_idn_validacao = tvl_idn_validacao 
WHERE  pes_idn_tipo_especificidade = :id 
ORDER BY pes_des_ordem 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM