sql – 将行转换为列
发布时间:2020-12-25 00:34:34 所属栏目:MsSql教程 来源:网络整理
导读:我怎么能转换这个表: – INV DESCRIPTION AMOUNT--------------------------1001 CHARGES 1001001 FREIGHT 301001 INSURANCE 201002 CHARGES 2151002 FREIGHT 321002 INSURANCE 25 使用SQL格式: – INV CHARGES FREIGHT INSURANCE----------------------
我怎么能转换这个表: – INV DESCRIPTION AMOUNT -------------------------- 1001 CHARGES 100 1001 FREIGHT 30 1001 INSURANCE 20 1002 CHARGES 215 1002 FREIGHT 32 1002 INSURANCE 25 使用SQL格式: – INV CHARGES FREIGHT INSURANCE --------------------------------- 1001 100 30 20 1002 215 32 25 解决方法使用:SELECT t.inv,MAX(CASE WHEN t.description = 'CHARGES' THEN t.amount ELSE NULL END) AS charges,MAX(CASE WHEN t.description = 'FREIGHT' THEN t.amount ELSE NULL END) AS freight,MAX(CASE WHEN t.description = 'INSURANCE' THEN t.amount ELSE NULL END) AS insurance FROM YOUR_TABLE t GROUP BY t.inv ORDER BY t.inv 为了支持动态的描述列表,您必须指定它所针对的数据库,因为每个数据库的动态SQL语法都不同. PIVOT / UNPIVOT是ANSI语法,但支持有限: > SQL Server 2005 MySQL不支持PIVOT,也不支持SQLite.我不知道PostgreSQL或DB2何时/如果…… (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql server2005中的希伯来语编码
- sql-server-2008 – 如何使用损坏的模型db启动MSSQL Server
- 计算SQL Server中的时间差(以分钟为单位)
- SQL Server误区:数据库镜像在妨碍产生后顿时就能发明
- 将图像存储在数据库中而不是文件系统中
- Half-Life 2发布日期确定?2月24日上市?
- 详解HTML元素的height、offsetHeight、clientHeight、scrol
- sql-server – uncoditioned Count(*)vs System表
- 了解64位Office 2010 它的优越性是什么
- 昂达:MX440-8X之TV版?399元/128bit依旧
站长推荐
热点阅读