`
chilongxph
  • 浏览: 138937 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 列转行

阅读更多
表字段:cid(外键), imgId(主键),width,height,url,status.

每个外键可对应三条记录,现在在查询时,要根据cid获取到一条记录,这样就涉及到了列传行的问题。大概写法如下:不知各位仁兄可有更好的写法?忘不吝赐教!

select * from
    (select nip.url as p1 from nong_image_properties nip where nip.resourceid='22') n1,
    (select nip.url as p2 from nong_image_properties nip where nip.resourceid='23') n2,
    (select nip.url as p3 from nong_image_properties nip where nip.resourceid='24')n3


2.使用函数查询:(昨日面试遇到一个这样的sql题,一时想不起来这种写法了,故重新在sqls——plus里调试了一下,记录与此,与列行互转无关)
select avg(case when t.salary>=3000 and t.sex=0 then salary end)a,
sum(case when t.salary<=3000 and t.sex=0 then salary end) b,
count(case when t.salary>=3000 and t.sex=1 then salary end) b
from emp t
  
0
0
分享到:
评论
2 楼 chilongxph 2010-09-16  
楼上正解,此种方式的问题正在与此,如果过多的话,就只能去使用存储过程解决了。
1 楼 ldbjakyo 2010-09-15  
如果列数比较多,岂不自连接很多次呀,我们90多列的动态表没用SQL。。。

相关推荐

    ORACLE 列转行 DECODE函数用法

    总之,Oracle的DECODE函数是处理列值转换的强大工具,它可以在列转行的过程中帮助你构建灵活且易于理解的查询结果。结合PIVOT和其他函数,你可以实现复杂的报表逻辑,让数据分析变得更加简单直观。在实际应用中,...

    oracle的列转行问题

    Oracle 列转行问题解决方案 Oracle 数据库中,列转行问题是一个非常传统的话题。在这个问题中,我们需要将行数据转换成不同的列表示,或者将不同的列数据写到同一列的不同行上。这种问题在实际应用中非常常见,如将...

    oracle的列转行函数

    SELECT TRIM(',' FROM SYS.STRAGG(A_NAME||NVL2(A_NAME,',','')))as nams FROM A_TEMP

    Oracle的列转行问题

    总结来说,Oracle中的列转行可以通过多种方法实现,包括传统的`DECODE`或`CASE`结合子查询,以及从11g版本开始提供的`PIVOT`功能。选择哪种方法取决于具体的需求和数据规模,以及对性能的考虑。在处理大数据量时,应...

    oracle行转列,列转行的例子

    oracle行转列,列转行的例子

    oracle中实现列转行实例

    oracle中实现列转行实例,有表的创建,数据的插入,查询的sql

    Oracle逗号分隔列转行实现方法

    因此用到了逗号分隔列转行的方法。目前该方法只适合在oracle数据库中使用。该方法只需要sql语句就可以实现列转行。  下面给出该方法的示例: select a,b,c from(with test as (select ‘aaa’ a,’bbb’ b,’1,2,3...

    oracle 多列分组和行转列 理解和实例

    理解日常工作中常用到的多列分组, 如【统计不同部门、 不同职位的平均工资】和 行转列 包含例子 和 个人理解分析

    列转行小工具

    在Oracle Developer中,"列转行小工具"是一种实用功能,它主要用于处理数据库表中的数据,将多列数据转换为单列数据,通常涉及到的是数据的行列转换操作。这种操作在处理复杂的数据分析、报表生成或者接口对接时非常...

    oracle wm_concat 列转行 逗号分隔

    Oracle中的WM_CONCAT函数是一个非标准的聚合函数,主要用于将多行数据合并成单行,以逗号分隔的形式返回。这个函数在处理特定的数据汇总和报告需求时非常有用,尤其是在你需要将某个列的多个值合并成一个字符串时。...

    ORACLE 行列转换

    本文将详细介绍如何在Oracle中实现行转列(即行列转换的一种)以及列转行的操作,分别通过使用`decode`函数和`insert...select`语句来实现。 ### 一、使用`decode`函数进行“行转列” #### 1. **背景与需求** 在...

    sql行转列,与列转行

    sql 行转列 与列转行,oracle ,msssql等,详细数据库操作方法,各种例子,欢迎大家学习。、~

    ORACLE 10g 的行列转换(学生科目成绩)测试题

    在Oracle数据库管理中,数据处理有时需要将行数据转换为列数据,或者将列数据转换为行数据,这种操作被称为行列转换。Oracle 10g 提供了多种方法来实现这种转换,包括使用PIVOT和UNPIVOT操作,以及自定义SQL查询等。...

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    Oracle行转列之pivot

    在Oracle数据库中,行转列(也称为数据透视)和列转行(unpivot)是SQL查询中用于数据转换的高级功能。从Oracle 11g版本开始,引入了PIVOT和UNPIVOT关键字,以支持显式的查询转换,即从行数据转换为列数据,或从列...

    oracle行转列

    - T-SQL_经典行专列、列转行,分页及存储过程.doc:T-SQL是SQL Server的扩展,但其中的行转列和分页概念与Oracle相似。在Oracle中,可以使用ROW_NUMBER()函数配合PARTITION BY和ORDER BY来实现分页查询。 - oracle_...

Global site tag (gtag.js) - Google Analytics