Heim >Datenbank >MySQL-Tutorial > SQL语句练习实例之十SQL SERVER 行转列的性能测试

SQL语句练习实例之十SQL SERVER 行转列的性能测试

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:43:561378Durchsuche

在数据库设计时,有时候为了实现数据规范化的目的,会将属于同一个人的属性记录值改用多条记录的方式来存储,显示时又希望将多个属性数据合并成一行来显示,这就是行转列。 例如:下图的成绩记录表。 一、第一种方式 (SQL 2000以后的版本) --总计120万记录SE

在数据库设计时,美国空间,有时候为了实现数据规范化的目的,虚拟主机,会将属于同一个人的属性记录值改用多条记录的方式来存储,显示时又希望将多个属性数据合并成一行来显示,香港虚拟主机,这就是行转列。

例如:下图的成绩记录表。

 

一、第一种方式(SQL 2000以后的版本)

 

--总计120万记录 SELECT wbook_no , MAX(CASE WHEN [COP_G_NO] ='60174257' THEN AR END) "60174257" , MAX(CASE WHEN [COP_G_NO] ='50165814' THEN AR END) "50165814" , MAX(CASE WHEN [COP_G_NO] ='10221553' THEN AR END) "10221553" FROM ( SELECT [COP_G_NO] , wbook_no , SUM(G_QTY * decl_Price) AR FROM WBK_PDE_LIST WHERE [COP_G_NO] in('60174257','50165814','10221553') GROUP BY [COP_G_NO] , wbook_no ) A GROUP BY wbook_no

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel: MSSQL与MYSQL区别Nächster Artikel: SQL Service自定义数据类型