成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換語句

一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換語句

熱門標(biāo)簽:知名電銷機(jī)器人價(jià)格 外呼系統(tǒng)改進(jìn) 長沙智能外呼系統(tǒng) 地圖標(biāo)注牌 湖南電腦外呼系統(tǒng)平臺(tái) 廣東防封卡外呼系統(tǒng)原理是什么 分享百度地圖標(biāo)注多個(gè)位置 電銷機(jī)器人公司 需要哪些牌照 菏澤語音電銷機(jī)器人加盟公司
一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換
Author: eaglet
在數(shù)據(jù)庫開發(fā)中經(jīng)常會(huì)遇到行列轉(zhuǎn)換的問題,比如下面的問題,部門,員工和員工類型三張表,我們要統(tǒng)計(jì)類似這樣的列表
部門編號(hào) 部門名稱 合計(jì) 正式員工 臨時(shí)員工 辭退員工
1 A 30 20 10 1
這種問題咋一看摸不著頭緒,不過把思路理順后再看,本質(zhì)就是一個(gè)行列轉(zhuǎn)換的問題。下面我結(jié)合這個(gè)簡(jiǎn)單的例子來實(shí)現(xiàn)行列轉(zhuǎn)換。
下面3張表
復(fù)制代碼 代碼如下:

if exists ( select * from sysobjects where id = object_id ( ' EmployeeType ' ) and type = ' u ' )
drop table EmployeeType
GO
if exists ( select * from sysobjects where id = object_id ( ' Employee ' ) and type = ' u ' )
drop table Employee
GO
if exists ( select * from sysobjects where id = object_id ( ' Department ' ) and type = ' u ' )
drop table Department
GO
create table Department
(
Id int primary key ,
Department varchar ( 10 )
)
create table Employee
(
EmployeeId int primary key ,
DepartmentId int Foreign Key (DepartmentId) References Department(Id) , -- DepartmentId ,
EmployeeName varchar ( 10 )
)
create table EmployeeType
(
EmployeeId int Foreign Key (EmployeeId) References Employee(EmployeeId) , -- EmployeeId ,
EmployeeType varchar ( 10 )
)

描述部門,員工和員工類型之間的關(guān)系。
插入測(cè)試數(shù)據(jù)
復(fù)制代碼 代碼如下:

insert Department values ( 1 , ' A ' );
insert Department values ( 2 , ' B ' );
insert Employee values ( 1 , 1 , ' Bob ' );
insert Employee values ( 2 , 1 , ' John ' );
insert Employee values ( 3 , 1 , ' May ' );
insert Employee values ( 4 , 2 , ' Tom ' );
insert Employee values ( 5 , 2 , ' Mark ' );
insert Employee values ( 6 , 2 , ' Ken ' );
insert EmployeeType values ( 1 , ' 正式 ' );
insert EmployeeType values ( 2 , ' 臨時(shí) ' );
insert EmployeeType values ( 3 , ' 正式 ' );
insert EmployeeType values ( 4 , ' 正式 ' );
insert EmployeeType values ( 5 , ' 辭退 ' );
insert EmployeeType values ( 6 , ' 正式 ' );

看一下部門、員工和員工類型的列表
Department EmployeeName EmployeeType
---------- ------------ ------------
A Bob 正式
A John 臨時(shí)
A May 正式
B Tom 正式
B Mark 辭退
B Ken 正式
現(xiàn)在我們需要輸出這樣一個(gè)列表
部門編號(hào) 部門名稱 合計(jì) 正式員工 臨時(shí)員工 辭退員工
這個(gè)問題我的思路是首先統(tǒng)計(jì)每個(gè)部門的員工類型總數(shù)
這個(gè)比較簡(jiǎn)單,我把它做成一個(gè)視圖
復(fù)制代碼 代碼如下:

if exists ( select * from sysobjects where id = object_id ( ' VDepartmentEmployeeType ' ) and type = ' v ' )
drop view VDepartmentEmployeeType
GO
create view VDepartmentEmployeeType
as
select Department.Id, Department.Department, EmployeeType.EmployeeType, count (EmployeeType.EmployeeType) Cnt
from Department, Employee, EmployeeType where
Department.Id = Employee.DepartmentId and Employee.EmployeeId = EmployeeType.EmployeeId
group by Department.Id, Department.Department, EmployeeType.EmployeeType
GO

現(xiàn)在 select * from VDepartmentEmployeeType
Id Department EmployeeType Cnt
----------- ---------- ------------ -----------
2 B 辭退 1
1 A 臨時(shí) 1
1 A 正式 2
2 B 正式 2
有了這個(gè)結(jié)果,我們?cè)偻ㄟ^行列轉(zhuǎn)換,就可以實(shí)現(xiàn)要求的輸出了
行列轉(zhuǎn)換采用 case 分支語句來實(shí)現(xiàn),如下:
復(fù)制代碼 代碼如下:

select Id as ' 部門編號(hào) ' , Department as ' 部門名稱 ' ,
[ 正式 ] = Sum ( case when EmployeeType = ' 正式 ' then Cnt else 0 end ),
[ 臨時(shí) ] = Sum ( case when EmployeeType = ' 臨時(shí) ' then Cnt else 0 end ),
[ 辭退 ] = Sum ( case when EmployeeType = ' 辭退 ' then Cnt else 0 end ),
[ 合計(jì) ] = Sum ( case when EmployeeType > '' then Cnt else 0 end )
from VDepartmentEmployeeType
GROUP BY Id, Department

看一下結(jié)果
部門編號(hào) 部門名稱 正式 臨時(shí) 辭退 合計(jì)
----------- ---------- ----------- ----------- ----------- -----------
1 A 2 1 0 3
2 B 2 0 1 3
現(xiàn)在還有一個(gè)問題,如果員工類型不可以應(yīng)編碼怎么辦?也就是說我們?cè)趯懗绦虻臅r(shí)候并不知道有哪些員工類型。這確實(shí)是一個(gè)
比較棘手的問題,不過不是不能解決,我們可以通過拼接SQL的方式來解決這個(gè)問題??聪旅娲a
復(fù)制代碼 代碼如下:

DECLARE
@s VARCHAR ( max )
SELECT @s = isnull ( @s + ' , ' , '' ) + ' [ ' + ltrim (EmployeeType) + ' ] = ' +
' Sum(case when EmployeeType = ''' +
EmployeeType + ''' then Cnt else 0 end) '
FROM ( SELECT DISTINCT EmployeeType FROM VDepartmentEmployeeType ) temp
EXEC ( ' select Id as 部門編號(hào), Department as 部門名稱, ' + @s +
' ,[合計(jì)]= Sum(case when EmployeeType > '''' then Cnt else 0 end) ' +
' from VDepartmentEmployeeType GROUP BY Id, Department ' )

執(zhí)行結(jié)果如下:
部門編號(hào) 部門名稱 辭退 臨時(shí) 正式 合計(jì)
----------- ---------- ----------- ----------- ----------- -----------
1 A 0 1 2 3
2 B 1 0 2 3
這個(gè)結(jié)果和前面硬編碼的結(jié)果是一樣的,但我們通過程序來獲取了所有的員工類型,這樣做的好處是如果我們新增了一個(gè)員工類型,比如“合同工”,我們不需要修改程序,就可以得到我們想要的輸出。

如果你的數(shù)據(jù)庫是SQLSERVER 2005 或以上,也可以采用SQLSERVER2005 通過的新功能 PIVOT
復(fù)制代碼 代碼如下:

SELECT Id as ' 部門編號(hào) ' , Department as ' 部門名稱 ' , [ 正式 ] , [ 臨時(shí) ] , [ 辭退 ]
FROM
( SELECT Id,Department,EmployeeType,Cnt
FROM VDepartmentEmployeeType) p
PIVOT
( SUM (Cnt)
FOR EmployeeType IN ( [ 正式 ] , [ 臨時(shí) ] , [ 辭退 ] )
) AS unpvt

結(jié)果如下
部門編號(hào) 部門名稱 正式 臨時(shí) 辭退
----------- ---------- ----------- ----------- -----------
1 A 2 1 NULL
2 B 2 NULL 1
NULL 可以通過 ISNULL 函數(shù)來強(qiáng)制轉(zhuǎn)換為0,這里我就不寫出具體的SQL語句了。這個(gè)功能感覺還是不錯(cuò),不過合計(jì)好像用這種方法不太好搞。不知道各位同行有沒有什么好辦法。
您可能感興趣的文章:
  • mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實(shí)例詳解
  • mssql 數(shù)據(jù)庫表行轉(zhuǎn)列,列轉(zhuǎn)行終極方案
  • SQL行轉(zhuǎn)列和列轉(zhuǎn)行代碼詳解
  • sql語句實(shí)現(xiàn)行轉(zhuǎn)列的3種方法實(shí)例
  • SQLServer行轉(zhuǎn)列實(shí)現(xiàn)思路記錄
  • MySQL存儲(chǔ)過程中使用動(dòng)態(tài)行轉(zhuǎn)列
  • 數(shù)據(jù)庫實(shí)現(xiàn)行列轉(zhuǎn)換(mysql示例)
  • 深入SQL中PIVOT 行列轉(zhuǎn)換詳解
  • mysql 列轉(zhuǎn)行,合并字段的方法(必看)
  • SQL行轉(zhuǎn)列、列轉(zhuǎn)行的簡(jiǎn)單實(shí)現(xiàn)

標(biāo)簽:美容院 珠海 呼和浩特 天水 商洛 福建 泉州 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換語句》,本文關(guān)鍵詞  一個(gè),簡(jiǎn)單,的,SQL,行列,轉(zhuǎn)換,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換語句》相關(guān)的同類信息!
  • 本頁收集關(guān)于一個(gè)簡(jiǎn)單的SQL 行列轉(zhuǎn)換語句的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    美女视频免费观看网站在线| 精品av综合导航| 欧美成人久久久免费播放| 日本亚洲三级在线| 日韩在线观看av| 高潮白浆女日韩av免费看| 欧美一区二区三区激情视频| 在线电影av| 色视频免费在线| 欧美视频第三页| 色哟哟一区二区三区| 99久久婷婷| 国产在线视频资源| 久久成人在线视频| 91丝袜一区二区三区| 久久久久99精品成人| 国产在线黄色片| 亚洲成年人电影在线观看| 亚洲综合网站在线观看| 欧美日韩高清影院| 最近2019年中文视频免费在线观看| 国产乱码精品一区二区三区忘忧草| 136福利视频导航| 亚洲成人在线播放| 亚洲国产精彩中文乱码av在线播放| 免费av在线一区二区| 老太脱裤让老头玩ⅹxxxx| 欧美99在线视频观看| 久久精品视频6| 综合久久99| 黄色小说在线播放| 91精品一区二区三区在线观看| 51久久精品夜色国产麻豆| 欧美日本视频在线| 天堂在线观看免费视频| 日韩视频一区在线| 粉嫩精品久久99综合一区| 亚洲伦理中文字幕| 久久国产精品色av免费看| 中文字幕亚洲免费| 91免费看国产| 性欧美疯狂xxxxbbbb| 日本午夜精品一区二区| 性折磨bdsm欧美激情另类| 国产成a人亚洲精| 精品视频一区二区三区四区五区| 欧美羞羞免费网站| yes4444视频在线观看| 国产成人精品一区二区免费视频| 亚洲精品国产精品国自产观看| 亚洲三级在线| 黄色小视频在线免费看| 午夜激情一区二区三区| 干b视频在线观看| 成都免费高清电影| 手机精品视频在线观看| 国产乱色国产精品免费视频| 羞羞漫画网18久久app| 久久久免费人体| 国精产品视频一二二区| 欧美日韩国产专区| 在线的色视频| a√免费观看在线网址www| 久久伊人成人网| 天堂中文最新版在线中文| 精品91福利视频| 欧美涩涩视频| 精品久久久久一区二区| 国产精品久久久久国产a级| 亚洲91中文字幕无线码三区| **精品中文字幕一区二区三区| 黄色国产精品一区二区三区| 久久99热狠狠色一区二区| 国产一区二区三区久久久| 亚洲av无码一区二区三区dv| 欧美国产小视频| 中文字幕在线三区| 污污网站在线观看视频| 丰满的护士2在线观看高清| 成人网站免费观看入口| 欧美国产丝袜视频| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 91精品国产色综合久久不卡98| 国产日韩欧美一区二区三区四区| 日韩欧美中文字幕在线观看| 日韩黄色视屏| 色综合天天综合网国产成人综合天| 天天干天天草天天射| 高潮久久久久久久久久久久久久| 国内在线免费高清视频| 久操手机在线视频| 性欧美激情精品| 欧美日韩裸体免费视频| 国产精品综合在线视频| 青春草国产成人精品久久| 在线观看h网| 亚洲精品久久久久久| 少妇在线看www| 日韩在线观看视频一区二区| 亚洲欧洲日韩女同| 伊人久久久久久久久久久久久| 影音先锋国产资源| 国产精品综合久久久| 国产超级av在线| 欧美精品第一页在线播放| 天堂av免费看| 中文字幕一区二区不卡| 成人影院午夜久久影院| 91性感美女视频| 91精品国产综合久久香蕉最新版| 亚洲无线看天堂av| 久久99国产精品久久99小说| 4hu四虎永久在线影院成人| 国产精品久久久久9999高清| 精品国产白色丝袜高跟鞋| 无码精品一区二区三区在线播放| 国产精品高清亚洲| 天天操天天是| 国产精品涩涩涩视频网站| 国产精品自产拍在线观看2019| 亚洲影院污污.| 亚洲 欧美 另类人妖| 国产黄色片视频| 99热精品在线| 91丨porny丨首页| 2018日韩中文字幕| 三年中文在线观看免费大全中国| av第一福利大全导航| 欧美一区二区在线观看视频| 久久久久久久极品内射| 亚洲情综合五月天| 欧美精品不卡| 午夜在线视频免费| 国产精品亲子乱子伦xxxx裸| 久久久久国产精品无码免费看| 日韩国产欧美亚洲| 91精品国产综合久久国产大片| 久久国产露脸精品国产| 一区二区三区国产视频| 伊人久久大香线蕉av超碰| 日韩激情在线播放| 影音先锋久久资源网| 香蕉国产成人午夜av影院| 久久丁香综合五月国产三级网站| eeuss影院网站免费观看| 综合久久五月天| 四虎一区二区三区| 欧美午夜无遮挡| 调教一区二区| 国产一区二区高清视频| 久久人人爽人人爽人人片av高清| 亚洲欧洲av一区二区| 最新精品视频在线| 在线观看亚洲| 6080yy午夜一二三区久久| 蜜桃视频一区二区| 国产亚洲美女精品久久久| 日韩一区二区三区在线免费观看| 国产美女精品人人做人人爽| 欧美日韩高清区| 国产精品久久国产愉拍| 又色又爽又高潮免费视频国产| 日韩精品电影网站| 精品无人区一区二区三区竹菊| 成人在线视频免费观看| 欧美极品欧美精品欧美视频| 色婷婷综合久久久| 婷婷伊人综合中文字幕| 亚洲人体视频| 亚洲欧洲综合另类在线| 日本色护士高潮视频在线观看| 仙踪林久久久久久久999| 亚洲桃色综合影院| 色悠久久久久综合欧美99| 亚洲欧美日本伦理| 久艹在线播放| 亚洲日本视频在线| 日韩欧美精品电影| 国产成+人+亚洲+欧美+综合| 日韩亚洲欧美在线观看| 一区2区3区在线看| 97精品国产aⅴ7777| 欧美一级一区| 香蕉av777xxx色综合一区| 亚洲国产午夜精品| 欧美xxxxx少妇| 小视频福利在线| 最新中文乱码字字幕在线| 国产亚洲欧美日韩精品一区二区三区| 色天天久久综合婷婷女18| aa免费在线观看| 欧美电影免费观看完整版| 91香蕉视频在线观看| 欧美一级片免费看| 国产aⅴ精品一区二区三区久久| 春暖花开亚洲一区二区三区| 2020日本不卡一区二区视频| 女人裸体性做爰全过| 精品夜夜嗨av一区二区三区| 成人免费在线视频网站| 99久久99久久免费精品蜜臀| 欧美日韩国产专区| 欧美日本国产视频| 国产一区二区三区日韩精品| 精品国产髙清在线看国产毛片| 日韩在线二区| 日本美女久久| 日本亚洲导航| 欧美成人r级一区二区三区| 亚洲一区 二区 三区| 先锋男人资源站| 欧美日本韩国一区| 91视频最新地址| 欧美日本乱大交xxxxx| 色哟哟亚洲精品| 国产99久久精品一区二区300| 三级在线观看一区二区| 色的视频在线免费看| 国产一级片在线播放| 成人看片黄a免费看在线| av免费在线网址| 日本熟妇人妻xxxx| 99国产精品一区二区三区| 国产精品免费在线播放| 黄色污污视频软件| aa日韩免费精品视频一| 青青久久av北条麻妃海外网| av综合在线播放| 国产精品伦理久久久久久| 国产一区二区视频免费在线观看| 成人a免费在线看| 欧美a一片xxxx片| 天天综合网网欲色| 94色蜜桃网一区二区三区| 国产理论片免费观看| 国产精品丝袜xxxxxxx| av免费网站观看| 成人免费激情视频| 亚亚洲欧洲精品| 成人午夜视频在线播放| 91玉足脚交白嫩脚丫在线播放| 亚洲精品乱码久久久久久久久久久久| 国产一区二区三区在线播放免费观看| 国产粉嫩一区二区三区在线观看| 日本在线观看中文字幕| 精品国产免费人成网站| 污香蕉视频在线观看| 青青草精品视频| 亚洲精品久久久北条麻妃| 黄色av电影在线播放| 欧美成人a∨高清免费观看| 欧美5-7sexvideos处| 免费观看91视频大全| 国产精品久久久久久久成人午夜| 日韩视频国产视频| 国产一区二区视频在线观看免费| 在线免费观看一区二区三区| 亚洲精品动漫100p| 亚洲色图 激情小说| 免费网站在线高清观看| 男女激情片在线观看| 亚洲国产精品www| 91蜜桃婷婷狠狠久久综合9色| 色综合天天色综合| 日本a级片电影一区二区| 性一交一乱一精一晶| 一本久道久久综合狠狠爱亚洲精品| 亚洲综合自拍偷拍| 国产免费一区二区三区最新6| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲都市激情| 国产精品亚洲网站| 93在线视频精品免费观看| 日本影音先锋电影| 中文字幕视频一区二区三区久| 在线观看中文字幕一区| 蜜桃视频网站www| 一本一道精品欧美中文字幕| 中文字幕精品一区| 亚洲av成人精品毛片| 国产精品69久久久久孕妇欧美| 91亚洲精品久久久| 韩国av在线播放| 午夜免费电影一区在线观看| 国模精品一区二区| 中文字幕av不卡| 中文字幕乱码人妻无码久久| 欧美黑人一区| 亚洲精品午夜级久久久久| 国产精品免费免费| 欧美色视频日本版| 中文字幕在线日本| 国产91av视频| 日韩一区二区三区xxxx| 99爱在线视频| 好吊日视频在线观看| 日韩一级片在线免费观看| 日韩三级电影网址| 国产91丝袜在线播放九色| 台湾天天综合人成在线| 成年人福利网站| 综合亚洲自拍| av一二三不卡影片| 天堂资源在线视频| 欧美国产日韩亚洲一区| 国产男人精品视频| 日韩高清一区| 午夜视频网站在线观看| 精品奇米国产一区二区三区| 国产中文字幕91| 极品尤物一区二区三区| 亚洲妇女屁股眼交7| 四虎永久精品在线| 欧美成人性福生活免费看| 亚洲精品鲁一鲁一区二区三区| 色狠狠一区二区三区香蕉| 色爱综合网站| 亚洲啪啪综合av一区二区三区| 黄色免费的网站| 国产丝袜视频在线观看| 欧美俄罗斯性视频| a天堂中文在线88| 免费一区二区三区视频狠狠| 九色综合国产一区二区三区| 欧美三级电影在线播放| 女人黄色片免费| 欧美日韩免费做爰视频| 国产精品10p综合二区|