使用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列转行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)