1. 程式人生 > >SQL Server 2008 行列轉換操作

SQL Server 2008 行列轉換操作

行轉列操作,主要用到了Pivot

Pivot語法結構:

Pivot (A) for B in(C)

A:Max(Total),表示要顯示的合計值,

B:Monthly,原始資料的列頭,就是要把它的資料轉化為列的欄位的名字

C:動態列 B的資料內容

資料表指令碼如下:

CREATE TABLE [dbo].[StudentScore](
	[UserNo] [varchar](50) NOT NULL,
	[UserName] [varchar](50) NOT NULL,
	[Course] [varchar](60) NOT NULL,
	[Score] [int] NOT NULL
) ON [PRIMARY]
INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'001', N'張三', N'語文', 90)
INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'001', N'張三', N'數學', 85)
    INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'001', N'張三', N'英文', 88)
    INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'002', N'李四', N'英文', 60)
    INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'002', N'李四', N'語文', 99)
    INSERT [dbo].[StudentScore] ([UserNo], [UserName], [Course], [Score]) VALUES (N'002', N'李四', N'數學', 100)

行轉列指令碼如下:

DECLARE @Course	VARCHAR(400),
		@SQL	VARCHAR(4000)

--獲取課程列
SELECT @Course = ISNULL(@Course+',','')+ QUOTENAME([Course]) FROM StudentScore GROUP BY Course

--行轉列
SET @SQL = 'SELECT * FROM StudentScore PIVOT(SUM([Score]) FOR Course IN('[email protected]+'))A ORDER BY A.UserNo'
EXEC(@SQL)

--行轉列並增加彙總
SET @SQL = 'SELECT UserNo,UserName,'
[email protected]
+',[總成績] FROM (SELECT *,[總成績]=SUM(Score) OVER (partition by UserNo) FROM StudentScore) A PIVOT (MAX(Score) FOR [Course] IN('[email protected]+'))B' EXEC(@sql)

相關推薦

SQL Server 2008 行列轉換操作

行轉列操作,主要用到了Pivot Pivot語法結構: Pivot (A) for B in(C) A:Max(Total),表示要顯示的合計值, B:Monthly,原始資料的列頭,就是要把它的資料轉化為列的欄位的名字 C:動態列 B的資料內容 資料表指令

sql server動態行列轉換

修改 esc === 邏輯 bubuko com context bject content 原文鏈接:https://www.cnblogs.com/gaizai/p/3753296.html sql server動態行列轉換 一.本文所涉及的內容(Contents)

SQL Server行列轉換 Pivot UnPivot

PIVOT用於將列值旋轉為列名(即行轉列),在SQL Server 2000可以用聚合函式配合CASE語句實現 PIVOT的一般語法是:PIVOT(聚合函式(列) FOR 列 in (…) )AS P 完整語法: table_source PIVOT( 聚合函式(value_column) FOR piv

windows server 2008 R2 SP1 安裝SQL Server 2008 R2時提示 "此操作系統不支持此版本的 SQL Server 版本"

企業版 支持 span ask 原因 提示 64位 福利 版本 windows server 2008 R2 SP1 安裝SQL Server 2008 R2時提示 "此操作系統不支持此版本的 SQL Server 版本" 原因: 安裝的時候輸入了標準版的key ,

SQL Server 2008 資料庫_實驗二_SQL DDL 操作

SQL DDL 操作 什麼是SQL DDL 操作?   DDL是SQL定義語言,它主要包括三個關鍵字:create ,alter , drop(資料庫關鍵字不分大小寫 ),主要操作物件 有資料庫、表、索引、檢視等。    語句說明: 建立資料庫   create database

SQL Server 2008 資料庫_實驗一_SQL DDL 操作

SQL DDL 操作 什麼是SQL DDL 操作?   DDL是SQL定義語言,它主要包括三個關鍵字:create ,alter , drop(資料庫關鍵字不分大小寫 ),主要操作物件 有資料庫、表、索引、檢視等。    語句說明: 建立資料庫   create database

SQL Server 2008 資料庫_實驗三_SQL DDL 操作

SQL DDL 操作 什麼是SQL DDL 操作?   DDL是SQL定義語言,它主要包括三個關鍵字:create ,alter , drop(資料庫關鍵字不分大小寫 ),主要操作物件 有資料庫、表、索引、檢視等。    語句說明: 建立資料庫   create database

SQL Server 2008 資料庫_實驗五_SQL DDL 操作

SQL DDL 操作 什麼是SQL DDL 操作?   DDL是SQL定義語言,它主要包括三個關鍵字:create ,alter , drop(資料庫關鍵字不分大小寫),主要操作物件 有資料庫、表、索引、檢視等。    語句說明: 建立資料庫   create database

SQL Server 2008 資料庫_實驗四_SQL DDL 操作

SQL DDL 操作、 什麼是SQL DDL 操作?   DDL是SQL定義語言,它主要包括三個關鍵字:create ,alter , drop(資料庫關鍵字不分大小寫 ),主要操作物件 有資料庫、表、索引、檢視等。    語句說明: 建立資料庫   create databas

Microsoft SQL server 2008 安裝未取得許可權操作

今天安裝SQL server 2008 耗了很長時間,大概安裝了1/3的時候就出現提示未授權操作(我的系統是win7旗艦版),第一次出現的時候我沒管直接跳過,很快連接出現幾個未授權操作提示,結果安裝

SQL 2008行列轉換的pivot--產生動態列

 突然間發現,已經好久沒有寫部落格了,也好久沒用SQLServer進行開發了。由於目前專案開發的原因,對於SQL Server才重視起來。發現SQL Server也引進了不少新的東西,現將一個不錯的動態行列轉換的例子給大家分享一下,行列轉換的函式為:pivot,unpi

SQL Server 2008 R2 超詳細安裝圖文教程

jpg ces ads 默認 點擊 引擎 nal 功能 ear 數據庫視頻將近看完了,但是SQL Server 一直都沒有親自動手安裝過,所以一直都不會安裝,今天自己動手安裝了兩次,總算是安裝成功了,以下是自己安裝的全過程: 運行程序後,點擊安裝

【原】Sql Server 2008---安裝時卸載Visual Studio

studio ima ext 一段 image 控制面板 選擇 應用 技術 由於數據庫連接不上,所以卸載數據庫,然後安裝的時候出問題報錯,結果是因為vs, 所以就有了卸載vs這一步。某些圖片借用一下。 1. 打開電腦中的控制面板--程序和功能 2.找到要卸載的軟件,但

sqlserver 下載地址(SQL Server 2008 R2 中英文 開發版/企業版/標準版 下載)

span 標準 bd09 pub add sina 4.0 published div 轉自:http://blog.sina.com.cn/s/blog_624b1f950100pioh.html 註:企業版無法安裝在xp和win7,開發版才可以! 一. 簡體

SQL Server 2008入門學習

學會 建表 一個數 安裝 新的 一個 學生 輸入 images 計應154張家浩:這學期學習了一門新的課程叫數據庫實用技術,主要是對軟件SQL Server 2008的學習,剛開始學的時候什麽都不懂一頭霧水,學習了一周之後,慢慢學會了如何建立數據庫,如何創建表格以及建立表格

配置 SQL Server 2008 Email 發送以及 Job 的 Notification通知功能

分享 exe -s targe ase ima over date server SQL Server 2008配置郵件的過程就不寫了,網上的案例太多了。 http://www.cnblogs.com/woodytu/p/5154526.html 這個案例就不錯。 主要

sql server 2008 r2 無法定位到數據庫文件目錄

src logs 子目錄 數據 屬性 添加 文件目錄 無法定位 ges 像這樣,選擇數據庫文件時, 無法定位到文件夾目錄,子目錄下的都不顯示。明明選擇的這個文件夾裏還有很多子文件夾,卻顯示不了。 解決方法: 在此文件夾上右擊,屬性-安全 添加紅框中的用戶就可以

SQL server 2008 R2

pan 裝包 load image files soft mage sqlserve pro SQL server 2008 R2安裝包下載 http://download.microsoft.com/download/9/4/8/948966AB-52CA-40F1-80

sql server 2008安裝圖解

size 阻止 net image 功能 track href item mod 本篇文章介紹了安裝SQL Server 2008企業版的軟硬件配置要求,安裝過程的具體步驟,以及須要註意的事項。 步驟/方法 1 在這裏我們將用圖解的方式。來介紹SQ

sql server 2008 開啟1433端口,開啟遠程連接

-1 image bsp 遠程連接 ges 開啟 cnblogs 設置 連接 通常情況下只需要設置兩處 sql server 2008 開啟1433端口,開啟遠程連接