前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在写左关联时SQL语句出现 Duplicate column name 'NAME'名字重复错误解决方法

在写左关联时SQL语句出现 Duplicate column name 'NAME'名字重复错误解决方法

原创
作者头像
zpzp6
修改2023-03-25 13:29:54
2.4K0
修改2023-03-25 13:29:54
举报
文章被收录于专栏:开发工具/IDEA开发工具/IDEA

话不多说直接上代码:

代码语言:javascript
复制
 SELECT * 
          FROM `personrequireupdate` a LEFT JOIN (select p.*,o.officeid,o.name as officename from person_modifyinf p
          LEFT JOIN office o   on o.officeid=p.officeid)p  ON p.personId=a.personId 
          LEFT JOIN personrole p2 ON a.personId = p2.personid 
          WHERE a.state=0 and p.state=0

这样它就会报错 :

代码语言:javascript
复制
SELECT * 
          FROM `personrequireupdate` a LEFT JOIN (select p.*,o.officeid ,o.name as officename from person_modifyinf p
          LEFT JOIN office o   on o.officeid=p.officeid)p  ON p.personId=a.personId 
          LEFT JOIN personrole p2 ON a.personId = p2.personid 
          WHERE a.state=0 and p.state=0
> 1060 - Duplicate column name 'officeid'
> 时间: 0.083s

改成这样子:

代码语言:javascript
复制

    SELECT * 
          FROM `personrequireupdate` a LEFT JOIN (select p.*,o.officeid AS offid,o.name as officename from person_modifyinf p
          LEFT JOIN office o   on o.officeid=p.officeid)p  ON p.personId=a.personId 
          LEFT JOIN personrole p2 ON a.personId = p2.personid 
          WHERE a.state=0 and p.state=0

代码运行正常 :

代码语言:javascript
复制
SELECT * 
        
                 FROM `personrequireupdate` a LEFT JOIN (select p.*,o.officeid AS offid,o.name as officename from person_modifyinf p
          LEFT JOIN office o   on o.officeid=p.officeid)p  ON p.personId=a.personId 
          LEFT JOIN personrole p2 ON a.personId = p2.personid 
          WHERE a.state=0 and p.state=0
> OK
> 时间: 0.059s

看出为什么了吗?没错,就是因为在我们写关联语句时同样的字段出现了两次,没有给他们起别名引起的,就像我写的这个:o.officeid AS offid 。因此,在进行关联查询时,如果两张或几张表都有那同样的字段,要给它起个别名。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档