客户 帐龄1 帐龄2 帐龄3
A客户 15 45 75
A客户 20 50 80转换成
客户 帐龄
A客户 15
A客户 45
A客户 75
A客户 20
A客户 50
A客户 80
请问需要怎么写?
A客户 15 45 75
A客户 20 50 80转换成
客户 帐龄
A客户 15
A客户 45
A客户 75
A客户 20
A客户 50
A客户 80
请问需要怎么写?
解决方案 »
- 如何实现自动定期修改登录密码?后使用新密码登录
- Oracle+SQL语句性能优化
- 为什么使用union 或者union all的连接查询的语句中不能够使用 Order 排序? 怎么查看具体的insert into a select ... from ...的过程呢?
- 如何写月度连续3天有记录的手机号?
- 请教!急
- Oracle8 模式管理器------帮忙看看这是些什么组件构成,初多指教
- 可以写一个Trigger从4个Table插到一个Table么
- 为什么我建的job只执行了一次就不执行了?
- oracle简单问题?
- instantcliet_win64的安装问题
- 全文检索的时候出错,急!!!!!!!!!!!!
- oracle查询间隔时间的记录
union all
select 客户,帐龄2 from 表
union all
select 客户,帐龄3 from 表
selelect 客户,帐龄2 AS 帐龄,帐龄類型='帐龄2' FROM Tablename
selelect 客户,帐龄3 AS 帐龄,帐龄類型='帐龄3'FROM Tablename
SELECT 客户,帐龄1 AS 帐龄,帐龄類型='帐龄1' FROM Tablename UNION ALL
SELECT 客户,帐龄2 AS 帐龄,帐龄類型='帐龄2' FROM Tablename UNION ALL
SELECT 客户,帐龄3 AS 帐龄,帐龄類型='帐龄3'FROM Tablename
--方法 1:
with tbl as
(
select 'A客户' as "客户", 15 as "账龄1", 45 as "账龄2", 75 as "账龄3" from dual
union all
select 'A客户' as "客户", 20 as "账龄1", 50 as "账龄2", 80 as "账龄3" from dual
)
select "客户", "账龄1" as "账龄" from tbl
union all
select "客户", "账龄2" from tbl
union all
select "客户", "账龄3" from tbl;客户 账龄
------- ----------
A客户 15
A客户 20
A客户 45
A客户 50
A客户 75
A客户 80--方法 2:
with tbl as
(
select 'A客户' as "客户", 15 as "账龄1", 45 as "账龄2", 75 as "账龄3" from dual
union all
select 'A客户' as "客户", 20 as "账龄1", 50 as "账龄2", 80 as "账龄3" from dual
)
select "客户", regexp_substr("账龄", '[^,]+', 1, line) as "账龄"
from (select "客户", "账龄1" || ',' || "账龄2" || ',' || "账龄3" as "账龄" from tbl) t1,
(select rownum as line from dual connect by rownum <= 3) t2
where regexp_substr("账龄", '[^,]+', 1, line) is not null;客户 账龄
------- -------
A客户 15
A客户 20
A客户 45
A客户 50
A客户 75
A客户 80
select case when ... then ... end case from Tablename