oracle sql 列转行

oracle sql 列转行,第1张

使用NOT IN ,我写一下给你,等等

SELECT 编号 FROM 表 WHERE 数据 NOT IN (数据='1' and 数据= '2' and 数据=‘3’);

这样你查出的结果是 数据那一项不在 123 这3个值中的

你看看能不能理解,可以继续追问

create table test (a1 number , a2 number , a3 number ) ;

insert into test values (1,2,3) ;

insert into test values (11,12,13) ;

dexter@REPO>select a from (

  2    SELECT 

  3      FROM test

  4           UNPIVOT(

  5           a

  6           for v

  7           IN(a1, a2, a3)

  8           ));

         A

----------

         1

         2

         3

        11

        12

        13

已选择6行。

用的是11g列转行函数,unpovit。 这些列的数据类型必须是一致的。试一下吧。

INSERT INTO 新表 (SELECT ID, '呼吸系统疾病' FROM 原表 WHERE 呼吸系统疾病有无 = 1 UNION SELECT ID, '消化系统疾病' FROM 原表 WHERE 消化系统疾病有无 = 1

UNION SELECT ID, '循环系统疾病' FROM 原表 WHERE 循环系统疾病有无 = 1)

如果使用行转列,还得使用merge into,还不如上面的语句清晰。

以上就是关于oracle sql 列转行全部的内容,包括:oracle sql 列转行、ORACLE 同表列转行、oracle列转行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10204682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存