加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 1054完全加入的未知列,但不是其他联接

发布时间:2020-12-13 16:54:36 所属栏目:PHP教程 来源:网络整理
导读:为什么我从以下 mysql语法中得到“1054 Unknown Column error”: SELECT attorney_first_name,attorney_last_name,att_school,att_degree_obtainedFROM jos_legalally_attorneysFULL JOIN jos_legalally_attorney_educationON jos_legalally_attorneys.user
为什么我从以下 mysql语法中得到“1054 Unknown Column error”:

SELECT attorney_first_name,attorney_last_name,att_school,att_degree_obtained
FROM jos_legalally_attorneys
FULL JOIN jos_legalally_attorney_education
ON jos_legalally_attorneys.user_id=jos_legalally_attorney_education.user_id;

它导致错误:

#1054 - Unknown column 'jos_legalally_attorneys.user_id' in 'on clause'

尝试完全加入时,我只收到此错误.使用此精确语法时,所有其他连接(内部,右侧,左侧)都是成功的. (我尝试了FULL OUTER JOIN变体).

解决方法

报告为 here,MySQL不支持FULL JOIN,因此您的查询解释如下:

SELECT attorney_first_name,att_degree_obtained
FROM jos_legalally_attorneys as FULL #FULL is taken as table alias!!
INNER JOIN jos_legalally_attorney_education
ON jos_legalally_attorneys.user_id=jos_legalally_attorney_education.user_id;

现在,因为它具有FULL作为jos_legalally_attorneys的表别名,所以它无法正常工作.

如果您尝试以下查询,它应该没有错误(即使它没有做你想要的):

SELECT attorney_first_name,att_degree_obtained
FROM jos_legalally_attorneys
FULL JOIN jos_legalally_attorney_education
ON FULL.user_id=jos_legalally_attorney_education.user_id;

现在,为了获得MySQL所需的FULL JOIN,你需要做这样的事情(如图所示):

SELECT attorney_first_name,att_degree_obtained
FROM jos_legalally_attorneys
LEFT JOIN jos_legalally_attorney_education
ON jos_legalally_attorneys.user_id=jos_legalally_attorney_education.user_id
UNION ALL
SELECT attorney_first_name,att_degree_obtained
FROM jos_legalally_attorneys
RIGHT JOIN jos_legalally_attorney_education
ON jos_legalally_attorneys.user_id=jos_legalally_attorney_education.user_id

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读