首先pivot是一个列转行的函数,反向用是unpivot(行转列)。

在SQL sever中可以这么写

SELECT * FROM [TABLE] /*数据源*/
AS A
PIVOT
(
MAX/*聚合函数*/(COL1/*行转列后 列的值*/) FOR
A.COL2/*需要行转列的列*/
IN ([VALUE1],[VALUE2],[VALUE3].../*列的值*/)
) AS B
在Oracle中可以这么写
select *
from tab
pivot(max /*聚合函数*/
(col1 /*行转列后 列的值*/)
for a.col2 /*需要行转列的列*/
in('value1' as v1, 'value2' as v2, 'value3' as v3.. . /*列的值*/)

--==========================================================

先放一个sql sever的实例
以下是原表:

sql语句做处理:

select t.[] as o, t.[] p, t.[] as q
from tab_test1 as p
PIVOT(max(p.b)
FOR p.a IN([], [], [])) AS T

结果如下:

--===========================================

再来一个Oracle的实例,以下是原表:

处理sql语句:

select * from TAB_TEST pivot(min(B) for A in('' t1, '' t2, '' t3))

结果如下:

												

最新文章

  1. JS实现带复选框的下拉菜单
  2. Windows下nodejs 模块配置 全局模式与本地模式的区别
  3. SPOJ GSS1 Can you answer these queries I
  4. 每一个成功的程序员的身后都有一个--------Parse
  5. 1.10 编程之美-双线程下载[double threads to download]
  6. Android——ImageSwitcher 图片切换
  7. Linux内核分析作业二—操作系统是如何工作的
  8. EINTR错误
  9. Things App Engine Doesn't Do...Yet
  10. ArcGIS 读写lyr层文件
  11. 关于实现判断用户是在PC端和还是移动端访问。
  12. a标签拨打电话、发短信、发邮件
  13. JAVA classpath, 纠正我一直以来错误的认知
  14. 一个简单的flask程序
  15. iOS基础 - UIDynamic
  16. 手动加支付宝遇到的错误--iOS
  17. 【ASP.NET MVC 学习笔记】- 03 Razor语法
  18. JavaScript实现ZLOGO: 用语法树实现多层循环
  19. dojo表格的一些属性
  20. pdf.js 使用实例

热门文章

  1. PHP后门之冷门回调函数(过waf)
  2. [Luogu3868] [TJOI2009]猜数字
  3. SpringBoot系列:Spring Boot集成Spring Cache,使用EhCache
  4. 分布式FastDFS集群部署
  5. vue css 深度选择器
  6. Vulnhub靶场渗透练习(三) bulldog
  7. 如何定制 Spring Boot 的 Banner?
  8. ESP8266开发之旅 应用篇② OLED显示天气屏
  9. C# 闭包对像
  10. Excel在线预览(通过poi转html,含里面的图片)