浏览 1944 次
锁定老帖子 主题:oracle 行转列
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-06-28
行转列最简单通俗的方法: 使用sum、max等集合函数 包含如decode、"case when then end"或ifnull这样的条件语句,作为一列, 以此方法转换行为列。
以下是个实例(一张表里既存储了公司又存储了部门,当要同时显示出公司和部门,那就用到行转列了):
select proch.id ID, max(decode(bt.id, proch.sqrgsid, bt.bmmc,'')) 公司名称, max(decode(bt.id, proch.sqrbmid, bt.bmmc,'')) 部门名称 from T_LPROMIS_GYLGL_CGSQ proch, -- 采购 t_lpromis_hr_bm bt --部门 where bt.id in (proch.sqrgsid, proch.sqrbmid) group by proch.id; 还有其他的方法,如使用存储过程什么滴,希望高手来讨论
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |