oracle 数据库查询问题

xlh0053 2018-03-09 03:07:38
第一个表
第二个表

怎么把第二个表上面的字段名称改成跟第一个表里面对应的中文名称
...全文
726 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
好难取名 2018-03-14
  • 打赏
  • 举报
回复
列名用中文到是少见,这个你可以使用动态sql 先用代码拼凑好执行的sql 然后在动态sql 执行
xlh0053 2018-03-12
  • 打赏
  • 举报
回复
引用 5 楼 weixin_41637486 的回复:
直接case when 就解决了
decode 和case when都行,但是字段太多了,100多个
断剑1989 2018-03-12
  • 打赏
  • 举报
回复
引用 7 楼 xlh0053的回复:
[quote=引用 5 楼 weixin_41637486 的回复:] 直接case when 就解决了
decode 和case when都行,但是字段太多了,100多个[/quote] 不是unpivot,而是pivot,你去查一下语法,也是要in一百多个字段,省去了case when而已
  • 打赏
  • 举报
回复
字段多吗?手动匹配嘛。。
断剑1989 2018-03-10
  • 打赏
  • 举报
回复
select FFSAL001 as '基本工资', FFSAL002 as '奖金' T_HR_SCHMHIS_661459830094394 类似这样了,剩下的楼主自己补全 楼上的各位理解错了意思,楼主并不想把表一转化为表二
Mricoo_周 2018-03-10
  • 打赏
  • 举报
回复
直接case when 就解决了
xlh0053 2018-03-09
  • 打赏
  • 举报
回复
引用 2 楼 xlh0053 的回复:
[quote=引用 1 楼 wmxcn2000 的回复:] 楼主百度一下 Oracle + unpivot,有问题再来追问;
是行转列吧? select * from T_HR_SCHMHIS_661459830094394 a UNPIVOT ( FNUMBER FOR FNAME_L2 IN ( FFSAL207 AS 'FFSAL207',FSAL041 AS 'FSAL041',FSAL007 AS 'FSAL007',FFSAL224 AS 'FFSAL224',FFSAL235 AS 'FFSAL235') ); 没有效果[/quote]
引用 2 楼 xlh0053 的回复:
[quote=引用 1 楼 wmxcn2000 的回复:] 楼主百度一下 Oracle + unpivot,有问题再来追问;
是行转列吧? select * from T_HR_SCHMHIS_661459830094394 a UNPIVOT ( FNUMBER FOR FNAME_L2 IN ( FFSAL207 AS 'FFSAL207',FSAL041 AS 'FSAL041',FSAL007 AS 'FSAL007',FFSAL224 AS 'FFSAL224',FFSAL235 AS 'FFSAL235') ); 没有效果[/quote] 而且我这个是要第一个表去关联第二个表的数据,跟行列转换没有关系吧?搞不懂
xlh0053 2018-03-09
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
楼主百度一下 Oracle + unpivot,有问题再来追问;
是行转列吧? select * from T_HR_SCHMHIS_661459830094394 a UNPIVOT ( FNUMBER FOR FNAME_L2 IN ( FFSAL207 AS 'FFSAL207',FSAL041 AS 'FSAL041',FSAL007 AS 'FSAL007',FFSAL224 AS 'FFSAL224',FFSAL235 AS 'FFSAL235') ); 没有效果
卖水果的net 2018-03-09
  • 打赏
  • 举报
回复
楼主百度一下 Oracle + unpivot,有问题再来追问;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧