`
chyx72
  • 浏览: 35446 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

行列互换

阅读更多
涉及表:
rpt_1(
         id,
         relatioship1     ,
         related_cust_id1 ,
         relatioship2     ,
         related_cust_id2 ,
         relatioship3     ,
         related_cust_id3 ,
         relatioship4     ,
         related_cust_id4 ,
         relatioship5     ,
         related_cust_id5 ,
         relatioship6     ,
         related_cust_id6 ,
         relatioship7     ,
         related_cust_id7 ,
         relatioship8     ,
         related_cust_id8 ,
         relatioship9     ,
         related_cust_id9 ,
         relatioship10    ,
         related_cust_id10,
         relatioship11    ,
         related_cust_id11,
         relatioship12    ,
         related_cust_id12,
         relatioship13    ,
         related_cust_id13,
         relatioship14    ,
         related_cust_id14,
         relatioship15    ,
         related_cust_id15
)
obj_abc(
         id,
         code,
         name
)
需实现的结果:rpt_1表连(id)obj_abc表用code,name字段填充rpt_1的relatioship,related_cust_id字段,无值为null;id为rpt_1表主键,在表obj_abc中一个id下有N(N<=15)个code,name.
实现方法:
update rpt_1 rpt
    set (rpt.relatioship1     ,
         rpt.related_cust_id1 ,
         rpt.relatioship2     ,
         rpt.related_cust_id2 ,
         rpt.relatioship3     ,
         rpt.related_cust_id3 ,
         rpt.relatioship4     ,
         rpt.related_cust_id4 ,
         rpt.relatioship5     ,
         rpt.related_cust_id5 ,
         rpt.relatioship6     ,
         rpt.related_cust_id6 ,
         rpt.relatioship7     ,
         rpt.related_cust_id7 ,
         rpt.relatioship8     ,
         rpt.related_cust_id8 ,
         rpt.relatioship9     ,
         rpt.related_cust_id9 ,
         rpt.relatioship10    ,
         rpt.related_cust_id10,
         rpt.relatioship11    ,
         rpt.related_cust_id11,
         rpt.relatioship12    ,
         rpt.related_cust_id12,
         rpt.relatioship13    ,
         rpt.related_cust_id13,
         rpt.relatioship14    ,
         rpt.related_cust_id14,
         rpt.relatioship15    ,
         rpt.related_cust_id15) = 
        (select max(case when ron=1 then code  end),
                max(case when ron=1 then name  end),
                max(case when ron=2 then code  end),
                max(case when ron=2 then name  end),
                max(case when ron=3 then code  end),
                max(case when ron=3 then name  end),
                max(case when ron=4 then code  end),
                max(case when ron=4 then name  end),
                max(case when ron=5 then code  end),
                max(case when ron=5 then name  end),
                max(case when ron=6 then code  end),
                max(case when ron=6 then name  end),
                max(case when ron=7 then code  end),
                max(case when ron=7 then name  end),
                max(case when ron=8 then code  end),
                max(case when ron=8 then name  end),
                max(case when ron=9 then code  end),
                max(case when ron=9 then name  end),
                max(case when ron=10 then code  end),
                max(case when ron=10 then name  end),
                max(case when ron=11 then code  end),
                max(case when ron=11 then name  end),
                max(case when ron=12 then code  end),
                max(case when ron=12 then name  end),
                max(case when ron=13 then code  end),
                max(case when ron=13 then name  end),
                max(case when ron=14 then code  end),
                max(case when ron=14 then name  end),
                max(case when ron=15 then code  end),
                max(case when ron=15 then name  end)
         from (select id,code,name, row_number() over(partition by id order by code) ron from obj_abc) tmp
         where tmp.id = rpt.id
         );
分享到:
评论

相关推荐

    C#实现DataGridView控件行列互换的方法

    当需要对数据进行特殊处理,如行列互换时,就需要利用到控件的一些高级特性。本篇将详细介绍如何在C#中实现DataGridView控件的行列互换。 首先,我们需要创建一个Windows Forms应用程序,并在界面上放置两个...

    行列互换工具毫秒级_V2.2.2行列转换.xlsm

    行列互换工具毫秒级_V2.2.2行列转换

    巧借Excel快速把Word表格行列互换

    ### 巧借Excel快速把Word表格行列互换 在日常工作中,我们经常会遇到需要处理Word文档中的表格,并对其进行行列互换的情况。虽然Word本身没有直接提供行列互换的功能,但我们可以巧妙地利用Excel的强大功能来实现这...

    sql表数据行列互换

    ### SQL表数据行列互换详解 在数据库管理与数据分析领域,有时我们需要对表格中的数据进行特殊的处理,例如将行转换为列或将列转换为行,这样的操作被称为“行列互换”。这种需求通常出现在汇总报告、数据透视等...

    二维数组的行列互换(函数调用实现)

    实现数组的行列互换 形参使用二维数组。函数调用使用引用传递,比较基础。

    oracle_lhr_行列互换总结

    Oracle数据库中的行列互换是一种数据重构技术,它通常用于将数据从行列形式转换为另一种形式,以便于数据的分析、报表的生成以及数据的呈现。根据提供的文件信息,我们将详细讨论Oracle中实现行列互换的六种情况,...

    sql经典 oracle的查询结果的行列互换

    ### Oracle SQL 中的行列互换技术详解 #### 一、引言 在处理数据库查询时,我们经常会遇到需要对查询结果进行格式调整的情况,其中一种常见的需求就是将数据的行列进行互换。例如,原始数据可能按列的形式存储了...

    orcale数据库 行列互换

    在Oracle数据库中,"行列互换"是一种常见的数据处理需求,它涉及到将数据表中的行转换为列,或者将列转换为行。这个过程在数据分析、报表制作或数据展示时非常有用。以下是对这个主题的详细解释: 一、行转列 在...

    行列互换工具毫秒级

    行列互换工具毫秒级

    C语言程序设计-编写程序,实现矩阵(3行3列)的转置(即行列互换) .c

    C语言程序设计-编写程序,实现矩阵(3行3列)的转置(即行列互换)

    sql行列互换常用代码

    sql行列互换常用代码,包括SQL Server2000的版本和SQL Server2005版本。

    C语言将给定的3× 3的整型数组转置(行列互换)。

    写一个函数名为convert,实现将给定的3× 3的整型数组转置(行列互换)。 要求:(1)由键盘按矩阵的形式输入3× 3的整型数组。 (2)函数的原型为:void convert(int b[3][3]) (3)在源程序中书写必要的注释。

    sql行列互换

    ### SQL 行列互换详解 在日常的数据处理与分析工作中,我们经常需要对数据进行各种转换以满足特定的需求或优化查询效率。其中,“行列互换”是一种常见的数据操作方式,尤其是在统计分析或数据报告中非常有用。接...

    SQL语句实现对数据库查询结果的行列互换

    当我们要进行行列互换时,通常涉及到的是将某一列的值转换为行,或者将多行数据合并为一列。以下是一些常见的方法: 1. **使用UNION ALL操作符** 如果你希望将多行数据合并成一列,可以使用UNION ALL。假设我们有...

    sql数据 见行列互换

    根据提供的信息来看,这篇文章主要涉及的是SQL中的行转列(Pivot)操作。在数据库管理中,有时我们需要将数据从一种格式转换成另一种格式来更好地分析或展示数据。特别是当原始数据以行的形式存在,而我们需要按列...

    SQL 实现报表的行列互换

    SQL 实现行列互换。例题,可以仿照写自己的SQL语句!注意语法

    行列互换.txt

    本文档提供了一个sql server中行列互换的实例sql语句。

    1_行列互换.cpp

    1_行列互换.cpp

    用Excel把网页上复制来的文本行列互换.docx

    以从网页上复制的文本行列互换为例,我们可以通过Excel这一强大的工具来实现。 首先,我们要明确的是,从网页上复制的文本通常是以垂直顺序排列的。也就是说,如果网页上的一段文本是中英文对照,那么通常是中文...

Global site tag (gtag.js) - Google Analytics