1. 程式人生 > >SQL Server 中行轉列 列轉行

SQL Server 中行轉列 列轉行

CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,
    Emp3 int, Emp4 int, Emp5 int);
GO
INSERT INTO pvt VALUES (1,4,3,5,4,4);
INSERT INTO pvt VALUES (2,4,1,5,5,5);
INSERT INTO pvt VALUES (3,4,3,5,4,4);
INSERT INTO pvt VALUES (4,4,2,5,5,4);
INSERT INTO pvt VALUES (5,5,1,5,5,5);
GO
--Unpivot the table.
SELECT VendorID, Employee, Orders
FROM
   (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
   FROM pvt) p
UNPIVOT
   (Orders FOR Employee IN
      (Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;
GO

相關推薦

SQL Server 中行 轉行

CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,     Emp3 int, Emp4 int, Emp5 int); GO INSERT INTO pvt VALUES (1,4,3,5,4,4); INSERT INTO pvt VALUES (2,4

SQL Server轉行

結果 name pre toolbar des null 表名 再次 arch 一、多行轉成一列(並以","隔開) 表名:A 表數據: 想要的查詢結果: 查詢語句: SELECT name , value = ( STUFF(( SELECT

SQL Server轉行。多行成一

一、多行轉成一列(並以","隔開)表名:A表資料:想要的查詢結果:查詢語句:SELECT name , value = ( STUFF(( SELECT ',' + value FROM A

查詢每個學生每門課程的成績,sql server實現

本人經常寫sql server指令碼,有時需要行轉列,這裡做個筆記。 練習指令碼 -- 學生表 CREATE TABLE student ( stuid VARCHAR(16) NOT NULL, stunm VARCHAR(20) NOT NULL, PRI

sql server問題終極解決

主要應用case語句來解決行轉列的問題 行轉列問題主要分為兩類 1)簡單的行轉列問題: 示例表: id  sid           course  result 1   2005001 語文     80.02   2005001 數學     90.03   200500

SQL語句中行案例

案例一: CREATE TABLE #t(Id INT,TypeVal VARCHAR(10),ValueVal VARCHAR(20)); INSERT INTO #t (Id,TypeVal,ValueVal) VALUES (1,'a','ValA'),(1,'a',

sql Server 的table的 ,由非自增長改為自增長

ans rop nvarchar test tablockx log tab blog lock 轉載:http://www.thinksaas.cn/topics/0/423/423869.html Demo /**************** 準備環境********

sql server 循環插入

sql server drop table #tempselect name,IDENTITY(int,1,1) as idinto #tempfrom syscolumnswhere id =(select id from sysobjects where xtype=‘u‘ and name =

Sql Server 獲取所有的

ide bsp sele cux 技術分享 from class convert prop 目標數據庫為微軟實力數據庫:AdventureWorks2012 1、Sql 語句: SELECT DISTINCT c.TABLE_SCHEMA ,

SQL Server 資料庫調整表中的順序操作

SQL Server 資料庫中表一旦建立,我們不建議擅自調整列的順序,特別是對應的應用系統已經上線,因為部分開發人員,不一定在程式碼中指明瞭列名。表是否可以調整列的順序,其實可以自主設定,我們建議在安裝後設置為禁止。 那麼,如果確實需要調整某一列的順序,我們是怎麼操作的呢? 下面,我們就要演示一下怎麼取消這

SQL Server自動化運維繫——監控效能指標指令碼(Power Shell)

需求描述 一般在生產環境中,有時候需要自動的檢測指標值狀態,如果發生異常,需要提前預警的,比如發郵件告知,本篇就介紹如果通過Power shell實現狀態值監控 監控值範圍 根據經驗,作為DBA一般需要監控如下系統能行指標   cpu:     \Processor(_Total)\% P

SQL SERVER-修改表,,約束等sql語句

--增加列 alter table userinfo add delflag smallint null --增加預設值約束 alter table userinfo add constraint DF_UserInfo_DelFlag default(0) for delflag --增加

SQL多行

表內容: 姓名 課程 分數 張三 語文 74張三 數學 83張三 物理 93張三 德語 null李四 語文 74李四 數學 84李四 物理 94李四 英語 80想變成(得到如下結果): 姓名 語文 數學 物理 英語 德語---- ---- ---- ----李四 74   

SQL Server ID自增從1開始算起

資料庫原有ID欄位,是自增列的,後來把資料全刪除後,想讓ID自增列從1開始算起 方法1: 1.dbcc checkident('test',reseed,0)2.insert into test values(55) select *  from test 顯示結果: id      msum 1     

SQL Server cast() 批量更新內容

摘要:有這樣一個需求,需要把資料表中的列批量更新一下,給後面的數字都增加20,如下圖: 正確的sql如下: update tbl_papers_test set name = '執業護士考試兒

SQL Server改變自增欄位的初始值

改變自增欄位的初始值 1。identity 函式中不能用變數作引數 declare @a int select @a=190 select identity(int,@a,1) as id,* into #temp from tablename select * from

sql server 中常用修改 ,建立主外來鍵操作

表結構 CREATE TABLE [staff] ( [id] [varchar](50) NOT NUL L, [name] [varchar](50) NOT NULL, [password] [varchar](50) NULL, [roleid] [varchar](50) NULL, [accoun

[SQL ServerPython] 一.安裝環境及T-SQL呼叫python指令碼

在開發專案過程中,更多的是通過Python訪問SQL Server資料庫介面,進行資料探勘的操作;而SQL Server2016版本之後,嵌入了強大的R、Python、Machine Learning等功能,尤其是Python程式碼置於儲存過程中,可以實現一些便捷資料分析功能。 本系

[SQL ServerPython] 二.T-SQL查詢表格值及Python實現資料分析

在開發專案過程中,更多的是通過Python訪問SQL Server資料庫介面,進行資料探勘的操作;而SQL Server2016版本之後,嵌入了強大的R、Python、Machine Learning等功能,尤其是Python程式碼置於儲存過程中,可以實現一些便捷資料分析功能。 本系

sql server & Access大小寫等函式

文字處理函式 函式 說明 LEFT() (或使用字串函式) 返回串左邊的字元   LENGTH() (也使用DATALENGTH()或LEN()) 返回串長度 LOWER() (Access使用Lcase) 轉小寫 LTRIM() 去掉左空格 RTRIM() 右邊