解决方案 »
- 如何用SQL剔除夜间时间
- 请教一个sql
- Oracle 同时查询2个分区的SQL该怎么写?
- 请各位大哥 帮帮忙!!!我是新手 解释下下面的意思
- 在Oracle中创建了一个表后,换另外一个用户登录查不到先前创建的表?????
- 存储过程中select into 语句 提示“ORA-01403:未找到数据”
- Oracle本身是用什么语言(工具)开发的?
- 新手请教:为什么一个表删除不了
- 请问ORACLE 9I中,安装目录ORACLE下有个目录叫ORADATA,是干什么呢?
- 如何在插入数据时,实现数据号的自动加一
- 求帮助 PL/SQL developer 点击Tables文件夹显示ora 00936
- 怎么根据主键来更新数据
之前的版本可以用max(decode)
由于你的列数不固定,只能采用动态语句的方式
先根据语法构建sql语句,然后利用拼接的结果去执行查询
如果存在重名的职工你准备如何处理,oracle肯定是不允许查询的两列列名相同的
from (SELECT T1.部门名称, T2.员工名, T2.性别
FROM 部门表 T1, 员工表 T2
WHERE T1.部门ID = T2.部门ID
order by T2.员工Id) pivot(max(性别) for(员工名) in(any));
--注:ANY 仅在XML 中可以使用
Oracle 11g 行列互换 pivot 和 unpivot 说明
而ANY 是在XML中使用的,想过In里面用子查询好像是不可以的。