将记录打印为垂直结果SQL
如何在SQL中将结果显示为垂直 我有一个使用PIVOT的想法,但我无法实现将记录打印为垂直结果SQL,sql,pivot,Sql,Pivot,如何在SQL中将结果显示为垂直 我有一个使用PIVOT的想法,但我无法实现 SELECT '1' ID , 'Vincent' Name , 'Enteng' NickName , 'Male' Gender 结果是: 但我希望结果是 ID 1 Name Vincent NickName Enteng Gender Male 如果只处理一条记录,请使用联合所有记录: SELECT 'ID' as whic
SELECT '1' ID
, 'Vincent' Name
, 'Enteng' NickName
, 'Male' Gender
结果是:
但我希望结果是
ID 1
Name Vincent
NickName Enteng
Gender Male
如果只处理一条记录,请使用
联合所有记录
:
SELECT 'ID' as which, '1' as value union all
SELECT 'Name', 'Vincent' union all
SELECT 'NickName', 'Enteng' union all
SELECT 'Gender', 'Male'
注意:在某些数据库中,您可能需要dual甚至其他构造中的
。那么,我是否必须为查询中的每个列结果编写SELECT?在PIVOT中有什么方法可以做到这一点吗?您可以使用unpivot
(如果您使用的是SQL Server或Oracle)。但这不会减少键入。是的,但这一个也不会减少键入如果我有很多列使用unpivot
,你必须列出所有列。如果这是一个问题,那么使用查询从元数据表中获取它们,例如INFORMATION\u SCHEMA
。