UNPIVOT 语法
时间: 2023-09-13 18:06:48 浏览: 153
UNPIVOT语法是一种在SQL查询中使用的语法,用于将行数据转换为列数据。它的基本语法如下:
SELECT ...
FROM ...
UNPIVOT \[INCLUDE|EXCLUDE NULLS\] (unpivot_clause unpivot_for_clause unpivot_in_clause )
WHERE ...
其中,unpivot_clause指定要转换的列,unpivot_for_clause指定要转换的列的别名,unpivot_in_clause指定要转换的列的值。
举个例子,假设我们有一个名为t1的表,包含VendorID、Emp1、Emp2、Emp3、Emp4和Emp5这几列。我们可以使用UNPIVOT语法将这些列转换为行数据,如下所示:
SELECT VendorID, Emp, Value
FROM t1
UNPIVOT (Value FOR Emp IN (Emp1, Emp2, Emp3, Emp4, Emp5))
这将返回一个结果集,其中每一行包含VendorID、Emp和Value三个列,Emp列表示原来的列名,Value列表示原来列的值。
更多关于UNPIVOT语法的用法和示例,可以参考Oracle官方文档\[2\]。同时,如果你想了解关于PIVOT语法的用法,可以参考Microsoft官方文档\[3\]。
#### 引用[.reference_title]
- *1* *2* [PostgreSQL行列转换(兼容oracle pivot unpivot)](https://blog.csdn.net/weixin_39540651/article/details/103886411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Oracle---pivot与unpivot用法介绍](https://blog.csdn.net/fly__ing/article/details/106852297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文