Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL表行转换为列列表_Sql_Sql Server - Fatal编程技术网

SQL表行转换为列列表

SQL表行转换为列列表,sql,sql-server,Sql,Sql Server,将包含列的行转换为包含行的列表的最佳方式是什么?在列表中,我需要一列使用旧列名,另一列使用旧列值 例如: 当前: PersonId | PersonFirstName | PersonLastName| 需要: ColumnName | ColumnValue 希望这是有意义的。谢谢您的帮助。您需要使用子句。您可以查看问题中的一些示例。您需要使用子句。您可以看到一些示例的问题。UNPIVOT有效,但我在下面收到了此消息,即使我的所有字段都是varchar。列的类型与UNPIVOT列表中指定的其他

将包含列的行转换为包含行的列表的最佳方式是什么?在列表中,我需要一列使用旧列名,另一列使用旧列值

例如:

当前:

PersonId | PersonFirstName | PersonLastName|

需要:

ColumnName | ColumnValue


希望这是有意义的。谢谢您的帮助。

您需要使用子句。您可以查看问题中的一些示例。

您需要使用子句。您可以看到一些示例的问题。

UNPIVOT有效,但我在下面收到了此消息,即使我的所有字段都是varchar。列的类型与UNPIVOT列表中指定的其他列的类型冲突。您能为问题添加查询吗?选择Id、FieldName,FieldValue FROM SELECT*FROM dbo.People,其中Id=1 p UNPIVOT FieldValue用于Id中的FieldName、FirstName、LastName、DOB作为u ORDER BYFieldName@ArtOx,如果字段长度不同,仍然会出现类型冲突错误。尝试将所有字段强制转换为公共大小。UNPIVOT可以工作,但即使我的所有字段都是varchar,我也会收到下面的消息。列的类型与UNPIVOT列表中指定的其他列的类型冲突。是否可以向问题添加查询?选择Id、FieldName,FieldValue FROM SELECT*FROM dbo.People,其中Id=1 p UNPIVOT FieldValue用于Id中的FieldName、FirstName、LastName、DOB作为u ORDER BYFieldName@ArtOx,如果字段长度不同,仍然会出现类型冲突错误。尝试将所有字段强制转换为通用大小。