成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

sqlserver列和行,數(shù)據(jù)庫的行和列

SQLSERVER 列轉(zhuǎn)行

第一:你的時間維度表基本沒有意義,微軟SSIS中心認為時間維度至少由日期構成主鍵??梢哉J為是最小基本業(yè)務顆粒。

成都創(chuàng)新互聯(lián)公司專注于做網(wǎng)站、成都網(wǎng)站設計、網(wǎng)頁設計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡營銷中找到自己的駐足之地。尊重和關懷每一位客戶,用嚴謹?shù)膽B(tài)度對待客戶,用專業(yè)的服務創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

來個Sample,更復雜的在我空間里。但是道理是一樣的。都是借助動態(tài)SQL和一些函數(shù)。

----------------------------------------------------------------

/*

作者:Edwin

數(shù)據(jù)庫:SQL?SERVER?2005+

作用:指定時間區(qū)間的自然周有幾天,如果垮年度,由外圍驗證

Version?1.0

Copyright?(c)?2015,?SQL?SERVER?2008

*/

----------------------------------------------------------------

/*參數(shù)設定區(qū)域,參數(shù)為開始時間和結束時間*/

----------------------------------------------------------------

declare?@FDate?DateTime?set?@FDate?=?'2014-09-01?00:00:00.000'

declare?@Edate?DateTime?set?@Edate?=?'2015-01-01?00:00:00.000'

----------------------------------------------------------------

/*SQL主體*/

----------------------------------------------------------------

declare?@WeekHeader?nvarchar(max)

select?@WeekHeader?=?coalesce(@WeekHeader+',['+cast(WeekOfYear?as?varchar)+']','['+cast(WeekOfYear?as?varchar)+?']')

from?

(

select?WeekOfYear?from?Comn.Calendar?where?DatePerDay=@FDate?and?DatePerDay@Edate?group?by?WeekOfYear?

)?M

declare?@PivotSQL?nvarchar(max)?set?@PivotSQL=N'

select

Year?as?年份,'+@WeekHeader+'

from

(

select?[Year],WeekOfYear,DatePerDay?from?[DT_WareHouse].[Comn].[Calendar]?where?DatePerDay=@FDate?and?DatePerDay@Edate

)?M

pivot

(

count(DatePerDay)?for?[WeekOfYear]?in('+@WeekHeader+')

)?PVT'

exec?sp_executesql?@PivotSQL,N'@FDate?datetime,@Edate?datetime',@FDate,@Edate

執(zhí)行結果:

在看一下時間維度表:

至于PVT標題別名問題,這個可以在時間維度表中創(chuàng)建字符串類型的第幾周等樣式的列來完成。

這種方式比較簡單。

或是

----------------------------------------------------------------

/*

作者:Edwin

數(shù)據(jù)庫:SQL?SERVER?2005+

作用:指定時間區(qū)間的自然周銷售,統(tǒng)計周期為某一年,如果垮年度,由外圍驗證

Version?1.0

Copyright?(c)?2015,?SQL?SERVER?2008

*/

----------------------------------------------------------------

/*參數(shù)設定區(qū)域,參數(shù)為開始時間和結束時間*/

----------------------------------------------------------------

declare?@FDate?DateTime?set?@FDate?=?'2014-09-01?00:00:00.000'

declare?@Edate?DateTime?set?@Edate?=?'2015-01-01?00:00:00.000'

----------------------------------------------------------------

/*SQL主體*/

----------------------------------------------------------------

declare?@WeekHeader?nvarchar(max)

select?@WeekHeader?=?coalesce(@WeekHeader+',['+cast(WeekOfYear?as?varchar)+']','['+cast(WeekOfYear?as?varchar)+?']')

from?

(

select?('第'+cast(WeekOfYear?as?varchar)+'周')?as?WeekOfYear?from?Comn.Calendar?where?DatePerDay=@FDate?and?DatePerDay@Edate?group?by?WeekOfYear?

)?M

declare?@PivotSQL?nvarchar(max)?set?@PivotSQL=N'

select

Year?as?年份,'+@WeekHeader+'

from

(

select?[Year],(''第''+cast(WeekOfYear?as?varchar)+''周'')?as?WeekOfYear,DatePerDay?from?[DT_WareHouse].[Comn].[Calendar]?where?DatePerDay=@FDate?and?DatePerDay@Edate

)?M

pivot

(

count(DatePerDay)?for?[WeekOfYear]?in('+@WeekHeader+')

)?PVT'

exec?sp_executesql?@PivotSQL,N'@FDate?datetime,@Edate?datetime',@FDate,@Edate

結果:

SqlServer 列轉(zhuǎn)行

sql server 請參閱下面的代碼,列轉(zhuǎn)行

sqlserver列轉(zhuǎn)行方法分享

以下例子適用 sqlserver 2005版本及以上

create?table?A?(?info1?varchar(30),

[2012]?int,

[2008]?int,

[2018]?int,

[2013]?int

)

go

insert?into?A?values('A',8,null,null,20)

insert?into?A?values('B',null,7,null,3)

insert?into?A?values('C',12,4,null,null)

insert?into?A?values('D',null,null,5,16)

go

---列行轉(zhuǎn)換?適用于sql?server?2005及以上版本

SELECT?info1,nian,qty

from?A

unpivot(qty?for?nian?in([2012],[2008],[2018],[2013]))as?test

GO

truncate?table?A

drop?table?A

SQL Server關系型數(shù)據(jù)中的行和列的概念

ID name sex

----------------

01 aaa nv

02 bbb nan

03 ccc nv

表內(nèi)每一個數(shù)據(jù)都是一個元,而一行,所表示的是ID=01的資料,所以可以叫 元組 一組數(shù)據(jù)

而比如name列,表示的是三組中的name屬性 所以可以理解為列為屬性一說

sqlserver怎么行轉(zhuǎn)列?

1,首先創(chuàng)建數(shù)據(jù)表

2,接著插入演示數(shù)據(jù)

3,需要把學生的每門成績集中到一行

4,編寫PIVOT函數(shù)實現(xiàn)

5,運行以后實現(xiàn)行轉(zhuǎn)列

6,最后還可以用case when來實現(xiàn)

SqlServer 行列轉(zhuǎn)換

目前除了povit沒什么別的好方法,你也可以去report

server

里面的矩陣看看,這個東西性能平時很少有人關注

分享名稱:sqlserver列和行,數(shù)據(jù)庫的行和列
轉(zhuǎn)載來源:http://jinyejixie.com/article18/hojjdp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、關鍵詞優(yōu)化、網(wǎng)站導航、營銷型網(wǎng)站建設、品牌網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
安吉县| 建宁县| 左云县| 黄石市| 黄石市| 齐齐哈尔市| 六盘水市| 六盘水市| 麻城市| 准格尔旗| 崇明县| 祁连县| 珠海市| 邳州市| 石阡县| 漾濞| 汝州市| 玉田县| 常州市| 湘潭市| 名山县| 崇信县| 马边| 敖汉旗| 辉南县| 宜兴市| 金山区| 卢湾区| 长阳| 福海县| 洛隆县| 绥德县| 江孜县| 澄迈县| 德安县| 响水县| 台中县| 武宣县| 乌拉特中旗| 高唐县| 保亭|