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

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

话不多说直接上代码:

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


这样它就会报错 :

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

改成这样子:

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




代码运行正常 :

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 。因此,在进行关联查询时,如果两张或几张表都有那同样的字段,要给它起个别名。
目录
相关文章
|
6月前
|
存储 SQL 关系型数据库
【BUG记录】Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xA6' for column 'name' at row 1
在MySQL中遇到`Incorrect string value`错误通常是因为尝试插入的字符串包含不被数据库字符集支持的字符,如表情符号。错误根源是MySQL默认的utf8不支持4字节的UTF-8字符(如Emoji)。
726 1
|
6月前
|
SQL 弹性计算 分布式计算
实时数仓 Hologres操作报错合集之在执行SQL查询时遇到了问题,报错原因是“Invalid index column id: 2”,该怎么处理
在使用阿里云实时数仓Hologres时,可能会遇到不同类型的错误。例如:1.内存超限错误、2.字符串缓冲区扩大错误、3.分区导入错误、4.外部表访问错误、5.服务未开通或权限问题、6.数据类型范围错误,下面是一些常见错误案例及可能的原因与解决策略的概览。
|
Java 关系型数据库 MySQL
【Java异常】java.sql.SQLExcetion:Cannot convert value “0000-00-00 00:00:00” from column 9 to TIMESTAMP
【Java异常】java.sql.SQLExcetion:Cannot convert value “0000-00-00 00:00:00” from column 9 to TIMESTAMP
83 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。
|
7月前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
731 0
|
7月前
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
193 0
|
7月前
|
SQL 搜索推荐 关系型数据库
Mysql报Cause: java.sql.SQLException: Incorrect string value: ‘\xE5\xA4\x96‘...for column username
Mysql报Cause: java.sql.SQLException: Incorrect string value: ‘\xE5\xA4\x96‘...for column username
59 0
|
7月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_122 Fix Product Name Format
「SQL面试题库」 No_122 Fix Product Name Format
|
SQL 关系型数据库 MySQL
【SQL异常】启动MySQL时发生系统错误的解决方法(net start mysql 发生系统错误 5。 拒绝访问)
【SQL异常】启动MySQL时发生系统错误的解决方法(net start mysql 发生系统错误 5。 拒绝访问)
593 1
|
SQL 数据库
解决Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1 SQL Statement的问题~
解决Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1 SQL Statement的问题~
480 0