[英]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: 我试图用左联接在一堆表(MySQL数据库)中进行选择,这导致我找不到列:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'per_idn_validacao' in 'on clause' SQLSTATE [42S22]:找不到列:1054“ on子句”中的未知列“ per_idn_validacao”
Here is my sql statement: 这是我的sql语句:
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. 这是仅使用
JOIN
语法重写的查询:(注意: ON
谓词中的列将需要进行排列,以使没有列出现在其驻留的表之前。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.