将记录打印为垂直结果SQL

将记录打印为垂直结果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

如何在SQL中将结果显示为垂直

我有一个使用PIVOT的想法,但我无法实现

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