Oracle 10g:取消透视列名称和值

技术专家

我有一个表和关联的值,我需要取消该表的旋转并将列取为具有列名的行。

在我的方案中,GL_列动态增长。

创建表脚本

CREATE TABLE TBL_NEWS
(
  NEWS_ID            VARCHAR2(50 BYTE) NOT NULL,
  STAFF_ID           VARCHAR2(50 BYTE),
  MODIFIED_USER      VARCHAR2(50 BYTE),
  GL_NEWS_LOCAL_BRD  NUMBER(38),
  GL_GRD_GLOBAL_BRD  NUMBER(38)

)

插入脚本

INSERT INTO TBL_NEWS (
NEWS_ID, STAFF_ID,
MODIFIED_USER,GL_NEWS_LOCAL_BRD,GL_GRD_GLOBAL_BRD) 
VALUES (1 ,100,System,50,40);


最后,我的结果表需要看起来像这样,总是我需要1个用户记录

COLUMN_NAME                 NEWSCOUNT
GL_NEWS_LOCAL_BRD 50
GL_GRD_GLOBAL_BRD 40

我试图接受这一点,通过使用以下查询,我可以获取列名。

SELECT COLUMN_NAME
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME='TBL_NEWS' AND COLUMN_NAME LIKE ('GL_%')

请帮助我做到这一点。

XING

您可以在oracle 11g中使用UNPIVOT,并使用以下查询在Oracle 10g或以下版本中满足您的要求:

select 'GL_NEWS_LOCAL_BRD' As COLUMN_NAME,GL_NEWS_LOCAL_BRD  as NEWSCOUNT
from TBL_NEWS
union all
select 'GL_GRD_GLOBAL_BRD' as COLUMN_NAME ,GL_GRD_GLOBAL_BRD as NEWSCOUNT
from TBL_NEWS

或者,如果您具有oracle 11g和更高版本,则可以使用:

select COLUMN_NAME,NEWSCOUNT
from TBL_NEWS
unpivot(  NEWSCOUNT
         for COLUMN_NAME  in (GL_NEWS_LOCAL_BRD ,GL_GRD_GLOBAL_BRD));         

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入SQL Developer / Oracle 10g中的缺失值

来自分类Dev

Oracle 10g。调用程序错误

来自分类Dev

Oracle Forms 10g ActiveX控件

来自分类Dev

Oracle 10g:插入多行

来自分类Dev

Oracle 10g SQL加上用户名,密码和主机字符串未知

来自分类Dev

在Oracle 10g中一起使用WHERE和ORDER BY

来自分类Dev

将Oracle表单和报表应用程序从10g迁移到12c

来自分类Dev

在Oracle 10g SQL Plus中将日期和时间插入时间戳

来自分类Dev

在Oracle数据库10G中用于存储纬度和经度的数据类型

来自分类Dev

如何知道Oracle 10g Ex的用户名和密码?

来自分类Dev

在Oracle 10g中将行转置为列

来自分类Dev

创建密码验证功能Oracle 10g

来自分类Dev

插入之前锁定ID-Oracle 10G

来自分类Dev

将映像插入BLOB Oracle 10g

来自分类Dev

实体框架是否支持Oracle 10g?

来自分类Dev

不需要的查询在Oracle 10g中合并

来自分类Dev

关于在Oracle 10g中扩展嵌套表的困惑

来自分类Dev

Oracle Database 10G查询有待解决

来自分类Dev

oracle 10g速成版数据库连接

来自分类Dev

以Oracle形式10g发布显示记录

来自分类Dev

在Oracle 10g Express Edition中导入.dmp文件

来自分类Dev

Oracle 10g具有参数Error的游标

来自分类Dev

从Oracle 10g中的列获取数据

来自分类Dev

从Oracle 10g列获取小写字母

来自分类Dev

不需要的查询在Oracle 10g中合并

来自分类Dev

在rownum或with子句之间的Oracle 10g性能

来自分类Dev

oracle 10g〜获取本地用户列表

来自分类Dev

在Oracle 10g pl \ sql中使用Web服务

来自分类Dev

oracle 10g报告中的错误计算