解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。

解决mysql连表查询别名不起作用,同名的字段只能显示其中一个字段值。

标签: javajdbchibernatemysql
1252人阅读 评论(1) 收藏 举报
分类:

     最近在项目开发中的持久层(JDBC)遇到了一个这样的问题,就是MySQL如果连表查询,如果两表中的字段都不相同,那么可以正常查询两表中的任意字段的值。但是如果两表中有相同字段,且想把两个字段值都取出来,并且取了别名。在navicat 中别名起作用。但是放到项目中,就达不到预期效果,结果只显示一个字段的值。

eg: 一个表 test1 含有字段 id,name,password  ,parent_id。

       

在navicat中这条语句可以正常执行,可以达到预期效果。

select t1.id id1,t2.id id2  from test1 t1 LEFT JOIN test1 t2 on t1.parent_id=t2.id

项目中的结果:

从上图可以看出,我们的别名在jdbc查询后,别名已经不起作用。


解决办法:

字段为varchar类型的用 trim(字段名) 别名 ,

  日期类型的DATE_FORMAT( 字段名, '%Y-%m-%d %H:%i:%s' ) 别名

 数字类型的 truncate(字段名,保留小数位数)  别名; 

上述例子:sql如果按照上述进行修改后结果就是预期的。

select truncate(t1.id,2) id1,trim(t2.id) id2  from test1 t1 LEFT JOIN test1 t2 on t1.parent_id=t2.id


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值