MySQL执行多表JOIN查询报1054错误'on clause'存在未知列问题
报错根因
你为versant_test_event_log表指定了别名versant_test_request_logs->versantTestEventLogs,MySQL规则要求:只要为关联表设置了别名,查询全程引用该表字段都必须使用别名,不能再使用原表名。你在ON关联条件中仍使用原表名versant_test_event_log调用字段,因此触发1054未知字段错误。
修复方案
将ON子句中的原表名替换为你设置的别名即可,修改后的关联片段如下:
LEFT OUTER JOIN `versant_test_event_log` AS `versant_test_request_logs->versantTestEventLogs` ON `versant_test_request_logs->versantTestEventLogs`.`lis_result_sourcedid` = `versant_test_request_logs`.`candidate_process_id`
可选优化建议
过长的别名会降低SQL可读性,你可以将versant_test_event_log的别名简化为vtel之类的短别名,后续引用更方便。
内容的提问来源于stack exchange,提问作者Rapid Tax
相关产品推荐
相关产品推荐

