DB2列转行是我们很常见的操作,下面就为您详细介绍DB2列转行的步骤,如果您对DB2列转行方面感兴趣的话,不妨一看。

公司主营业务:成都网站建设、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出中卫免费做网站回馈大家。
给出下面数据
CREATE TABLE SalesAgg
 (  year INTEGER,
    q1 INTEGER,
    q2 INTEGER,
    q3 INTEGER,
    q4 INTEGER );
 YEAR        Q1          Q2          Q3          Q4
 ----------- ----------- ----------- ----------- -----------
        2004          20          30          15          10
        2005          18          40          12          27
 想要的结果
 YEAR        QUARTER     RESULTS
 ----------- ----------- -----------
        2004           1          20
        2004           2          30
        2004           3          15
        2004           4          10
        2005           1          18
        2005           2          40
        2005           3          12       2005           4          27
 这个SQL就可以实现:
SELECT S.Year, Q.Quarter, Q.Results
 FROM SalesAgg AS S,
      TABLE (VALUES(1, S.q1),
                   (2, S.q2),
                   (3, S.q3),
                   (4, S.q4))
             AS Q(Quarter, Results);
 每个values中对应列的数据类型必须相同,值可以任意,如1,2,3,4都是整形下面解释一下执行的过程:核心是用table函数创建了一个表,这个表是用value实现的多行表,value实现虚表的例子:
 db2 => select * from (values (1,2),(2,3)) as t1(col1,col2)
 COL1        COL2
 ----------- -----------
           1           2
           2           3
   2 条记录已选择。
 db2 => select * from (values 1) as a
1
 -----------
           1
1 条记录已选择。
所不同的是这里跟from子句中的一个表产生了关系,取出了表中的一列作为数据。
【编辑推荐】
DB2在线备份的实现方法
Windows下创建DB2实例的方法
DB2时间函数大全
DB2公共表表达式的用法
四种删除DB2数据的方法
                当前题目:DB2列转行的实现
                
                新闻来源:http://www.csdahua.cn/qtweb/news39/212589.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网