ermaosk 2015-12-23 06:32 采纳率: 0%
浏览 1498

sql语句包装问题,sql别名外层包装处理

现需要实现以下功能:

1、根据用户输入的sql,如: select ename, dept, sal as "工资(人民币)" from emp,对sql进行解析,通过列表展现,如下:

图片说明

2、根据上边的列表,用户选择了dept,和工资(人民币)两列,并设置求平均,需要形成图形,如下:

图片说明

思路:
使用java实现,
第一步,可以通过jdbc提供的接口(ResultSetMetaData)获取列名,查出数据没有问题。
第二部,根据用户的选择需要对用户输入的sql进行包装,包装后的sql应该为:
select dept, avg("工资(人民币)") from (select ename, dept, sal as "工资(人民币)" from emp) group by dept ;
问题来了,由于第一步通过jdbc接口获取的sql的原信息的列名为"工资(人民币)",未带有双引号,所以在包装sql的时候不能确定外层引用的列名需不需要带双引号,由于oracle的别名带有双引号或者不带都可以,而通过jdbc ResultSetMetaData.getColumnLabel接口获取的列名都不带双引号,所以不知道怎么处理了,求处理方案!!!

  • 写回答

3条回答 默认 最新

  • sinat_31535993 2015-12-23 06:50
    关注

    在数据库中显示字段成中文,有什么用?

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料