原创文章,转载务必注明出处. 今天工作的时候,碰到一个问题,涉及oracle行转列,用了半小时解决,因此在这里写个博客记录一下解决办法. 原数据库表的数据是: 想要达到的效果是: 经过思考,这是一个oracle行转列的操作,根据xn,qxdm,nj这三列值来分组查询所有的数据,把xn,qxdm,nj三列相同的数据看为一行. 在百度上找了半小时sql,自己又调试了半个小时,终于把这个效果实现了,sql如下: select * from (select xn,qxdm,nj,xk,gxsj,cbbb