mysql執行left join時報錯Unknown column 'xxx' in 'on clause'

mysql執行left join時報錯Unknown column 'xxx' in 'on clause'

遇到的問題

執行如下sql時

select 
    ad.answer_id,ev.title,ev.`year`,ev.suitable,ac.user_name,
    jt.job_name,po.position_name,ad.score,ad.`level` 
from auditing ad,account ac,answer an,evaluation ev 
left join job_title jt on ac.job_title_id = jt.id 
left join position po on ac.position_id = po.id 
where ad.answer_id = an.id and an.evaluation_id = ev.id 
    and an.aid = ac.aid and ac.dept_id = 1 
    and ev.`year` = 1 and ad.audit_type = 1 

報錯
在這裏插入圖片描述

解決方法

把from後的多個表用括號括起來

select 
    ad.answer_id,ev.title,ev.`year`,ev.suitable,ac.user_name,
    jt.job_name,po.position_name,ad.score,ad.`level` 
from (auditing ad,account ac,answer an,evaluation ev) 
left join job_title jt on ac.job_title_id = jt.id 
left join position po on ac.position_id = po.id 
where ad.answer_id = an.id and an.evaluation_id = ev.id 
    and an.aid = ac.aid and ac.dept_id = 1 
    and ev.`year` = 1 and ad.audit_type = 1 

成功
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章