Oracle行转列 - Oracle / 高级技术
select distinct '1' t1,'2' t2,'3' t3,'4' t4 from table 查出来的结果为
1,2,3,4
我想得以下这样的效果
1
2
3
4
请问一下有什么办法可以解决???
没有好的方法,用union,一条条记录拼接
SQL code:
with temp as(
select '1' t1,'2' t2,'3' t3,'4' t4 from dual
)
select t1 from temp
union all
select t2 from temp
union all
select t3 from temp
union all
select t4 from temp
SQL code:
union all --吧
http://topic.csdn.net/u/20100508/14/39983236-42ff-4223-8962-cfdd14130975.html
看这里!
可以用decode判断
decode(a,1,b,2,c,3,d,4) 判断如果=a 则值为1 。。。。。
ORACLE 11g 新函数:
行转列:
SQL code:
WITH TEMP AS
(SELECT '1' T1,
'2' T2,
'3' T3,
'4' T4
from DUAL)
SELECT *
from TEMP UNPIVOT(T_VALUE FOR T_TYPE IN(T1 AS 'T1', T2 AS 'T2',
T3 AS 'T3', T4 AS 'T4'))
列转行:
SQL code:
WITH TEMP AS
(SELECT 'T1' T_TYPE,'1' T_VALUE fr
相关问答:
--建立一个包以定义一个游标
create or replace package PK_test
as
type cur_test is ref cursor;
end PK_test;
--建立一个过程,通过输入JOBID,返回一个表记录(游标)!
create or replace ......
有这样一条SQL
Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......
oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用MS SQL的存储过程,求解~谢谢~
引用
oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用M ......