完美解决Column ‘xxx‘ in field list is ambiguous问题

这篇具有很好参考价值的文章主要介绍了完美解决Column ‘xxx‘ in field list is ambiguous问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

复现问题

  • 使用如下SQL查询数据:

  •  SELECT
      id as id,
        `user`.login_name AS user_mobile,
        apply_status,
        ( SELECT `value` FROM data_dict WHERE CODE = apply_status ) AS apply_status_value,
        apply_no,
        application_name,
        belong_org_code,
        belong_org_data_dict.`value` AS belong_org_code_value,
        business_contact_name,
        business_contact_mobile,
        auth_way,
        ( SELECT `value` FROM data_dict WHERE CODE = auth_way ) AS auth_way_value,
        REPLACE ( REPLACE ( apply_service_type, '"', '' ), '"', '"' ) apply_service_type,
        apply_need_desc,
        apply_time,
        audit_time,
        audit_suggest 
    FROM
        application_apply 
    LEFT JOIN user ON user.id = application_apply.apply_user_id
    LEFT JOIN data_dict belong_org_data_dict ON belong_org_data_dict.`code` = application_apply.belong_org_code 
  • 却报出如下错误:

  • 完美解决Column ‘xxx‘ in field list is ambiguous问题,JAVA基础工作中实际总结,mysql,sql,数据库

    Column 'id' in field list is ambiguous

分析问题

  • 我们在解决问题之前,首先要分析问题。做到知其然,知其所以然,这样才能有所成长,进而避坑。

  • 将Column 'id' in field list is ambiguous翻译成中文就是字段列表中的列id不明确。

  • 为什么不明确这个id呢?

  • 通过如上的·mysql语句可得,application_apply表关联user表,但 application_apply表中存在id字段,而user表中也存在id字段。但如上mysql语句,并没有说明id字段是哪张表中的,因而mysql认为这个id字段是不明确的。

解决问题

  • 既然知道问题的原因,我们便可如下修改SQL语句

  •  SELECT
        application_apply.id as id,
        `user`.login_name AS user_mobile,
        apply_status,
        ( SELECT `value` FROM data_dict WHERE CODE = apply_status ) AS apply_status_value,
        apply_no,
        application_name,
        belong_org_code,
        belong_org_data_dict.`value` AS belong_org_code_value,
        business_contact_name,
        business_contact_mobile,
        auth_way,
        ( SELECT `value` FROM data_dict WHERE CODE = auth_way ) AS auth_way_value,
        REPLACE ( REPLACE ( apply_service_type, '"', '' ), '"', '"' ) apply_service_type,
        apply_need_desc,
        apply_time,
        audit_time,
        audit_suggest 
    FROM
        application_apply 
    LEFT JOIN user ON user.id = application_apply.apply_user_id
    LEFT JOIN data_dict belong_org_data_dict ON belong_org_data_dict.`code` = application_apply.belong_org_code 
  • 即在id前加上application_apply.查询结果如下图所示:

  • 完美解决Column ‘xxx‘ in field list is ambiguous问题,JAVA基础工作中实际总结,mysql,sql,数据库

     文章来源地址https://www.toymoban.com/news/detail-700973.html

到了这里,关于完美解决Column ‘xxx‘ in field list is ambiguous问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘se

     Navicat Premium 16 版本 这个错误是由于 MySQL 的新版本中默认开启了 ONLY_FULL_GROUP_BY 模式,即在 GROUP BY 语句中的 SELECT 列表中,只能包含分组或聚合函数,不能包含其他列。而你的查询语句中出现了一个列 senior_two.score.student_id ,它既没有被分组也没有被聚合,因此 MySQL 报出了这

    2024年02月15日
    浏览(51)
  • IDEA报错private field “xxx“ is never assigned解决

    1.现象 在IDEA中,开发Spring项目时,在一个类中使用 @Autowired 注解注入成员变量时,IDEA会在该成员变量上报类似于如下警告: 一开始还以为是代码哪里配置的有问题,以前也没遇到过啊。 暂时怀疑是下面两个原因导致的,但是还没有时间去验证,懂的大佬欢迎不吝赐教: 1

    2023年04月17日
    浏览(53)
  • MySQL Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column异常处理

    使用联表查询时,group by两个字段出现了错误 意思是select字段里包含了没有被group by 条件唯一确定的字段。 MySQL版本5.7之后会检测函数依赖,默认启用的模式是ONLY_FULL_GROUP_BY,使用GROUP BY 语句违背了sql_mode=only_full_group_by。该模式的意思是只有确定唯一字段的group by才能执行。

    2024年01月24日
    浏览(51)
  • MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic

    报错信息及语句如下 字面翻译: SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含非聚合列“grades.order_id” 它在功能上不依赖于 GROUP BY 子句中的列; 这与 sql_mode=only_full_group_by 不兼容 使用GROUP BY 语句违背了 sql_mode=only_full_group_by。因为mysql版本5.7之后默认的模式是 ONLY_F

    2024年02月07日
    浏览(44)
  • oracle sqlldr 数据导入时报错:Field in data file exceeds maximum length完美解决

    使用oracle sqlldr进行数据导入时报Field in data file exceeds maximum length错误的解决办法: 一种是数据字段确实比数据库中的字段要长,这中错误需要调整数据库字段的长度,一种是减小字段的长度。 第二种是因为要入库的字段问题(中文问题),这种问题在control文件中添加字符类型表示

    2024年02月16日
    浏览(46)
  • Vue.js报错问题解决:[Vue warn]: Error in v-on handler: “ReferenceError: XXX is not defined“.

    代码: 报错信息: 原因:count 忘加 this 了。。。 1、2

    2024年02月13日
    浏览(62)
  • mysql遇见Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggre问题解决

    目录 起因 问题产生原因 解决方案 方式一 方式二 今天在mysql5.7.x 升级到8.0.x版本的时候 项目接口报错。最后发现是使用group by的sql语句时候发现mysql出现如下问题: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column \\\'xxx\\\' which is not functionally dependent on columns i

    2024年02月15日
    浏览(49)
  • Field error in object ‘xxx‘ on field ‘xxx‘: rejected value [xx];

    字段上对象“xxx”中的field错误,拒绝了值[xxx]。意思是:在Springboot等其他框架中编写程序时,前端传入的数据例如 前端代码如下 这个phone从客户端接收的值与后端entity中定义的属性值不匹配(与数据库定义的值的类型不匹配)时,就发生接收值类型错误。 解决办法: 看是

    2024年02月10日
    浏览(160)
  • 错误记录:Unknown column ‘xxx‘ in ‘where clause‘

    这个错误意思是没有找到where分句中的字段名,个人总结存在三种错误情况。判断错误方式可以直接在数据库运行语句,进一步判断是代码问题还是表格问题。 注意在一些sql版本中,字符串只能用双引号包裹。测试是否是这个错误很简单,直接在数据库中运行语句即可。 如果

    2024年02月11日
    浏览(57)
  • Component is not found in path “components/xxx/xxx“ (using by “pages/xxx/xxx“) 问题记录

    相信做过小程序的都遇到过Component is not found in path “components/xxx/xxx“ (using by “pages/xxx/xxx“) 这个问题,一般情况的是引用路径有问题,检查代码路径改对就好了,又或者是 分包 影响的 先说一下我得使用场景,不一定适用于所有人,只是记录一下我遇到的 1.小程序是分包的

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包