前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容;

之后需要导出问卷明细,,,,麻烦来咯

于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人

然后最终自己写出来了,decode才是核心

废话不多说,看图

需求示例图表:

存储过程,嘿嘿:

create or replace procedure NAG_QUESTIONERSULT_EXP(

V_QID in number,

C_Title out sys_refcursor,

C_Data out sys_refcursor

)

as

/*

导出调查问卷资答案数据

Auth:lzpong 2015/09/01

*/

cursor dusers is --列信息

select qss.qss_id,nvl(qss.qss_title,substr(qs.qs_title,0,20)) QSS_TITLE from nag_questions qs,nag_questionss qss

where qss.qss_qs_id=qs.qs_id and qs.qs_q_id=V_QID

order by qs.qs_order,qss.qss_order;

strSql varchar2(10000);

begin

for ur in dusers loop

strSql:=strSql||'wm_concat(decode(QR_QSS_ID,'''||ur.qss_id||''',QR_QSS_DES,null)) as "'||ur.qss_title||'",';

end loop;

open C_Data for

'select QR_ID,QR_AGENTID,max(QR_CREATEDATE) QR_CREATEDATE,'||

substr(strSql,0,length(strSql)-1)

||'from (

select QR_QS_ID,QR_QSS_ID QR_QSS_ID,''(√)''||QR_QSS_DES QR_QSS_DES, QR_CREATEDATE,QR_U_ID,QR_AGENTID,QR_ID

from nag_questionresult,nag_questions where qr_qs_id=qs_id and qs_q_id='||V_QID||'

order by QR_ID

)

group by QR_ID,QR_AGENTID';

open C_Title for

select q.q_id,q.q_title,q.q_des,qs.qs_id,qs.qs_title ,(select count(qss_id) from nag_questionss qss where qss.qss_qs_id=qs.qs_id) qs_cols

from nag_question q,nag_questions qs where q.q_id=qs.qs_q_id and q.q_id=V_QID

order by q.q_id,qs.qs_order;

end;

存储过程

实际数据:

结果:

转载请注明来自:lzpong

Oracle 多行转多列

Oracle 多行转多列,列值转为列名   前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要到处问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的 ...

Oracle字符串行拆分成列的三种方式

Oracle字符串行拆分成列的三种方式 --muphy 开发过程中经常会遇到将前台多个值用逗号连接一同传递到后台查询,这个用逗号连接的字符串分隔的每个字符串分别对应Oracle数据库表的不同行. 如下 ...

Oracle行转列/列转行

1.oracle的pivot函数 原表 使用pivot函数: with temp as(select '四川省' nation ,'成都市' city,'第一' ranking from dual u ...

oracle 行转列~列转行(几种方法)

工作中,我们经常会碰到行转列的情况 这里我介绍几种简单的方法--行转列 1.oracle的pivot函数 原表 使用pivot函数: with temp as(select '四川省' nation ...

poi获取合并单元格内的第一行第一列的值

当读取如图所示的excel时,显示为第1行 第1列 的内容是:合并单元格 其它在合并单元格区域内的单元格不显示 示例代码如下: import java.io.FileInputStream; impo ...

Oracle中“行转列”的实现方式

在报表的开发当中,难免会遇到行转列的问题. 以Oracle中scott的emp为例,统计各职位的人员在各部门的人数分布情况,就可以用“行转列”: scott的emp的原始数据为: EMPNO ENAM ...

awk替换第几行第几列的值

代码如下: awk '{if(2==NR){gsub(/.*/, 300, $5)}print}' list.txt 将文件list.txt的第2行第5列的值替换为300

学习笔记13—python DataFrame获取行数、列数、索引及第几行第几列的值

1. df=DataFrame([{‘A’:’11’,’B’:’12’},{‘A’:’111’,’B’:’121’},{‘A’:’1111’,’B’:’1211’}]) print df.column ...

python DataFrame获取行数、列数、索引及第几行第几列的值

print df.columns.size#列数 2 print df.iloc[:,0].size#行数 3 print df.ix[[0]].index.values[0]#索引值 0 print ...

随机推荐

ASP.NET MVC 5 使用autofac实现DI

使用Nuget添加Autofac.MVC的引用 启动项设置 注册Controller 注册ModelBinder 注册相关的web abstraction 为View层启用属性注入 为Action F ...

应用SQLServer For XML 生成XML避免在C# 拼字符串

最近在Review代码时,有一个功能是 查询数据库中一列,然后生成像      a

关于Parallel.For/Foreach并行方法中的localInit, body, localFinally使用

对集合成员的操作往往可以通过并行来提高效率,.NET Parallel类提供了简单的方法来帮助我们实现这种并行,比如Paralle.For/ForEach/Invoke方法. 其中,For/ForEa ...

ajax传递的数据类型json传递

$(".del_goods").click(function(){ //删除选中的商品 var clear_data = [];//数组 $("input[name='c ...

[物理学与PDEs]第3章习题7 快、慢及Alfv\'en 特征速度的比较

证明: 当 $H_1\neq 0$ 及 $H_2^2+H_3^2\neq 0$ 时, 快.慢及 Alfv\'en 特征速度 $C_f$, $C_s$ 及 $C_a$ 满足 $$\bex 0

关于unity3dGUI(uGUI)的一些自适应的收获,在这里跟大家分享一下

假设大家要转载这篇文章,请注明出处.本人名字叫赖张殷,博客地址为http://my.csdn.net/?c=674f97f953e5dbfdba9fefaa3d1fcbe1 //2017年5月12日改 ...

kubernetes 简介:kube-dns 和服务发现

服务发现 kubernetes 提供了 service 的概念可以通过 VIP 访问 pod 提供的服务,但是在使用的时候还有一个问题:怎么知道某个应用的 VIP?比如我们有两个应用,一个 app,一 ...

Android开源框架源码分析:Okhttp

一 请求与响应流程 1.1 请求的封装 1.2 请求的发送 1.3 请求的调度 二 拦截器 2.1 RetryAndFollowUpInterceptor 2.2 BridgeInterceptor ...

mybatis Mapper XML 映射文件

传送门:mybatis官方文档 Mapper XML 文件详解 一. 数据查询语句 1. select

java流输入输出

java读取txt文件内容.可以作如下理解:  首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了.  通过这条 ...

oracle一列多行转一行多列表示,Oracle 多行转多列,列值转为列名相关推荐

  1. oracle 行转列后列名,Oracle 多行转多列,列值转为列名

    前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要导出问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人 然后最终自己写出来了 ...

  2. SQL:pivot函数的简单用法,实现某列的值转为列名!

    pivot语法: SELECT a.值1 as 别名1,a.值2 as 别名2,a.值3 as 别名3,a.值... as 别名..., FROMtable_name ---就是数据源 ---开始使用 ...

  3. oracle一行变一列,oracle多行变一行

    今天遇到将多行转为一行的一个操作,多谢oracle开发板的 wildwave 提供了比较通用的解决办法,同时也将自己搜到的这方面资料整理如下,多是用于连接列值的. String集聚连接技术 需要将多行 ...

  4. ORACLE纯SQL实现多行合并一行

    ORACLE纯SQL实现多行合并一行 项目中遇到一个需求,需要将多行合并为一行. 表结构如下: NAME                            Null           Type ...

  5. pandas删除数据行中的重复数据行、基于dataframe所有列删除重复行、基于特定数据列或者列的作何删除重复行、删除重复行并保留重复行中的最后一行、pandas删除所有重复行(不进行数据保留)

    pandas删除数据行中的重复数据行.基于dataframe所有列删除重复行.基于特定数据列或者列的作何删除重复行.删除重复行并保留重复行中的最后一行.pandas删除所有重复行(不进行数据保留) 目 ...

  6. pandas为dataframe添加新的数据行(rows)、在dataframe后面纵向添加一行数据(数据为列表list形式)、列有不匹配将会使用NA值进行填补

    pandas为dataframe添加新的数据行(rows).在dataframe后面纵向添加一行数据(数据为列表list形式).列有不匹配将会使用NA值进行填补 目录

  7. VBA- 设置指定列的文字对齐方式(遍历指定列,获取最后一行非空单元格行号)

    Sub isColInfo(sheet As Worksheet)Dim LastRow As IntegerDim arrCol As VariantarrCol = Array("C&q ...

  8. Excel如何将表转换为另一种格式的表(表1转换为表2),表转换的绿色工具,支持一行变多行,多行变一行,行变列,列边行等等

    将表格式转换的 Excel在线绿色工具 支持一行变多行,多行变一行,行变列,列边行等等 Excel如何把一个表格快速转化成想要的另一个格式,使用下面的工具 (注意要使用谷歌浏览器) 地址:www.ex ...

  9. oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询...

    oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询博客分类: oracle OracleSQL 比较运算符 >,<:大于,小于 >=. ...

最新文章

  1. ob_get_contents();basename;file_get_contents用法
  2. Android开发学习笔记:数据存取之SQLite浅析
  3. Web常见约定规范(精选)
  4. *8.哈希冲突是什么?以及如何解决哈希冲突
  5. python汽车仿真_汽车山羊问题的分析以及Python和MATLAB仿真实验
  6. 调查内存泄漏第2部分–分析问题
  7. angular 模块构建_通过构建全栈应用程序学习Angular 6
  8. 【转】Ubuntu中SVN客户端安装+使用
  9. 重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
  10. ASP.NET知识点
  11. C++ Memory_order的理解
  12. Caffe傻瓜系列(11):caffe中的lr_policy选择
  13. 使用xml和java代码混合控制UI界面
  14. 初学者的SDN学习之路
  15. ipad蓝牙键盘使用技巧_iPad提示,技巧和教程的完整列表
  16. win10计算机切换用户,win10账户切换,详细教您win10怎么切换账户
  17. 并行程序设计整理(一)
  18. NickLee的学习demo(父子列表清单)
  19. AS打包V1和V2签名,使用乐固加固安装包签名有误 ShieldCode = 40186
  20. 计算机网络实验 ppt,计算机网络实验实验四跨交换机实现vlan.ppt

热门文章

  1. 阿龙的学习笔记---计算机网络知识点总结---三、数据链路层
  2. POJ3069-Saruman's Army-贪心水题
  3. 2019年8月10日工作总结
  4. 女朋友的情绪难以捉摸,作为程序员我应该?
  5. Sixth season seventh episode,Phoebe‘s running style is so free!!!
  6. 西北师大与新华三开展物联网战略合作,共建“物联网联合实验室”
  7. matlab汽车驱动力与行驶阻力,用matlab绘制汽车驱动力-行驶阻力平衡图
  8. canvas 闭合_canvas绘图无法闭合问题
  9. 巴贝奇、阿达和他们的差分机
  10. Tita OKR:不可或缺的工作法看板