SQL表行转换为列列表
将包含列的行转换为包含行的列表的最佳方式是什么?在列表中,我需要一列使用旧列名,另一列使用旧列值 例如: 当前: PersonId | PersonFirstName | PersonLastName| 需要: ColumnName | ColumnValueSQL表行转换为列列表,sql,sql-server,Sql,Sql Server,将包含列的行转换为包含行的列表的最佳方式是什么?在列表中,我需要一列使用旧列名,另一列使用旧列值 例如: 当前: PersonId | PersonFirstName | PersonLastName| 需要: ColumnName | ColumnValue 希望这是有意义的。谢谢您的帮助。您需要使用子句。您可以查看问题中的一些示例。您需要使用子句。您可以看到一些示例的问题。UNPIVOT有效,但我在下面收到了此消息,即使我的所有字段都是varchar。列的类型与UNPIVOT列表中指定的其他
希望这是有意义的。谢谢您的帮助。您需要使用子句。您可以查看问题中的一些示例。您需要使用子句。您可以看到一些示例的问题。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,如果字段长度不同,仍然会出现类型冲突错误。尝试将所有字段强制转换为通用大小。