在SQL中,”列转行”是指将一列数据转换为行数据的操作。可以通过使用UNPIVOT操作符或者使用UNION ALL操作符组合多个SELECT语句来实现列转行。
以下是使用UNPIVOT操作符的语法:
SELECT [id], [column_name], [column_value] FROM [table_name] UNPIVOT ( [column_value] FOR [column_name] IN ([column1], [column2], [column3], ...) ) AS [unpivoted_table];
在上面的语法中,[table_name]是要进行列转行操作的表名,[column1], [column2], [column3], …是要转换的列名,[id]是表中的唯一标识列名。[column_name]和[column_value]是转换后生成的列名,[unpivoted_table]是生成的结果表名。
以下是使用UNION ALL操作符的语法:
SELECT [id], 'column1' AS [column_name], [column1] AS [column_value] FROM [table_name] UNION ALL SELECT [id], 'column2' AS [column_name], [column2] AS [column_value] FROM [table_name] UNION ALL SELECT [id], 'column3' AS [column_name], [column3] AS [column_value] FROM [table_name];
在上面的语法中,[table_name]是要进行列转行操作的表名,[column1], [column2], [column3], …是要转换的列名,[id]是表中的唯一标识列名。’column1′, ‘column2’, ‘column3’, …是转换后生成的列名。
以上就是两种常见的列转行的SQL语句示例。实际使用时,根据具体的表结构和需求进行相应的修改。
版权申明:财旺号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 1790309299@qq.com 举报,一经查实,本站将立刻删除。