原表数据 (T1 是表面)事业部 品项 商超 餐饮 团购 二批
高端酒 10年 是 是 否 否
高端酒 15年 是 否 否 是
低端酒 2年 是 否 是 否要转换成 (要求建立视图)
事业部 品项 渠道
高端酒 10年 商超
高端酒 10年 餐饮
高端酒 15年 商超
高端酒 15年 二批
低端酒 2年 商超
低端酒 2年 团购
高端酒 10年 是 是 否 否
高端酒 15年 是 否 否 是
低端酒 2年 是 否 是 否要转换成 (要求建立视图)
事业部 品项 渠道
高端酒 10年 商超
高端酒 10年 餐饮
高端酒 15年 商超
高端酒 15年 二批
低端酒 2年 商超
低端酒 2年 团购
解决方案 »
- 关于Oracle RAC 的各种ip
- !!!在线等待!!!SQL*Loader-404 错误,如何解决!请大侠帮忙,多谢!!
- 请教VC ADO 如何对ORACLE的CLOB操作
- 磁头寻道到目标数据块时速度会降低吗?
- oracle8i安装的问题
- 我在oracle里面的时间项 是定义的date,我在查询时候,怎么来实现呢?
- [200分]向BLOB字段中存一个小的文档可以,但当超过2M就报如下错误:(急等)
- 关于form_builder连接odbc的问题!!!!!
- 想在存储过程里实现当满足一定条件时,弹出对话框让用户作完处理后再往下执行
- 为了在asp中调用我们局的oracle数据库,我在机器上装了oracle8,建了个服务名,将数据库字符集改成 amarica... ,一切正常,我又建立了一
- 求一个查询语句
- 关于sql语句走索引问题欢迎大家讨论
union all
select "事业部", "品项", '餐饮' as "渠道" from t1 where "餐饮"='是'
union all
select "事业部", "品项", '团购' as "渠道" from t1 where "团购"='是'
union all
select "事业部", "品项", '二批' as "渠道" from t1 where "二批"='是';
SELECT '高端酒' 事业部, '10年' 品项, '是' 商超, '是' 餐饮, '否' 团购, '否' 二批 FROM dual
UNION ALL
SELECT '高端酒', '15年', '是', '否', '否', '是' FROM dual
UNION ALL
SELECT '低端酒', '2年', '是', '否', '是', '否' FROM dual
)
SELECT 事业部,品项,'商超' 渠道 FROM tab WHERE 商超='是'
UNION ALL
SELECT 事业部,品项,'餐饮' 渠道 FROM tab WHERE 餐饮='是'
UNION ALL
SELECT 事业部,品项,'团购' 渠道 FROM tab WHERE 团购='是'
UNION ALL
SELECT 事业部,品项,'二批' 渠道 FROM tab WHERE 二批='是'
ORDER BY 1 DESC
--
事业部 品项 渠道
---------------------
高端酒 10年 商超
高端酒 15年 商超
高端酒 10年 餐饮
高端酒 15年 二批
低端酒 2年 商超
低端酒 2年 团购
WITH tb AS(
SELECT '高端酒' 事业部, '10年' 品项, '是' 商超, '是' 餐饮, '否' 团购, '否' 二批 FROM dual
UNION ALL
SELECT '高端酒', '15年', '是', '否', '否', '是' FROM dual
UNION ALL
SELECT '低端酒', '2年', '是', '否', '是', '否' FROM dual
)
select * from
(select 事业部,品项,decode(商超,'是','商超','未知') 渠道 from tb
union all
select 事业部,品项,decode(餐饮,'是','餐饮','未知') 渠道 from tb
union all
select 事业部,品项,decode(团购,'是','团购','未知') 渠道 from tb
union all
select 事业部,品项,decode(二批,'是','二批','未知') 渠道 from tb)
order by 事业部,decode(渠道,'未知',1,0)--结果
1 低端酒 2年 团购
2 低端酒 2年 商超
3 低端酒 2年 未知
4 低端酒 2年 未知
5 高端酒 15年 二批
6 高端酒 10年 商超
7 高端酒 10年 餐饮
8 高端酒 15年 商超
9 高端酒 15年 未知
10 高端酒 10年 未知
11 高端酒 15年 未知
12 高端酒 10年 未知
tb.品项,
decode(tb.商超, '是', '商超') 渠道
from tb
where tb.商超='是'
union all
select tb.事业部,
tb.品项,
decode(tb.餐饮, '是', '餐饮') 渠道
from tb
where tb.餐饮='是'
union all
select tb.事业部,
tb.品项,
decode(tb.团购, '是', '团购') 渠道
from tb
where tb.团购='是'
union all
select tb.事业部,
tb.品项,
decode(tb.二批, '是', '二批') 渠道
from tb
where tb.二批='是'