国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

sqlserver和oracle行轉(zhuǎn)列的一種典型方法

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 10:12:22
文檔

sqlserver和oracle行轉(zhuǎn)列的一種典型方法

sqlserver和oracle行轉(zhuǎn)列的一種典型方法:對(duì)于有些業(yè)務(wù)來說,數(shù)據(jù)在表中的存儲(chǔ)和其最終的Grid表現(xiàn)恰好相當(dāng)于把源表倒轉(zhuǎn),那么這個(gè)時(shí)候我們就碰到了如何把行轉(zhuǎn)化為列的問題,為了簡化問題,我們且看如下查詢出來的數(shù)據(jù),您不必關(guān)心表的設(shè)計(jì)以及sql語句: 假設(shè)用到的sql語句為: SELECT [姓名],[
推薦度:
導(dǎo)讀sqlserver和oracle行轉(zhuǎn)列的一種典型方法:對(duì)于有些業(yè)務(wù)來說,數(shù)據(jù)在表中的存儲(chǔ)和其最終的Grid表現(xiàn)恰好相當(dāng)于把源表倒轉(zhuǎn),那么這個(gè)時(shí)候我們就碰到了如何把行轉(zhuǎn)化為列的問題,為了簡化問題,我們且看如下查詢出來的數(shù)據(jù),您不必關(guān)心表的設(shè)計(jì)以及sql語句: 假設(shè)用到的sql語句為: SELECT [姓名],[

對(duì)于有些業(yè)務(wù)來說,數(shù)據(jù)在表中的存儲(chǔ)和其最終的Grid表現(xiàn)恰好相當(dāng)于把源表倒轉(zhuǎn),那么這個(gè)時(shí)候我們就碰到了如何把行轉(zhuǎn)化為列的問題,為了簡化問題,我們且看如下查詢出來的數(shù)據(jù),您不必關(guān)心表的設(shè)計(jì)以及sql語句: 假設(shè)用到的sql語句為: SELECT [姓名],[時(shí)代],

對(duì)于有些業(yè)務(wù)來說,數(shù)據(jù)在表中的存儲(chǔ)和其最終的Grid表現(xiàn)恰好相當(dāng)于把源表倒轉(zhuǎn),那么這個(gè)時(shí)候我們就碰到了如何把行轉(zhuǎn)化為列的問題,為了簡化問題,我們且看如下查詢出來的數(shù)據(jù),您不必關(guān)心表的設(shè)計(jì)以及sql語句:

  

  假設(shè)用到的sql語句為:

  SELECT [姓名],[時(shí)代],[金錢]

  FROM [test].[dbo].[people]

  這個(gè)表存儲(chǔ)了兩個(gè)人在不同時(shí)代(時(shí)代是固定的三個(gè):年輕、中年和老年)擁有的金幣,其中:

  張三在年輕、中年和老年時(shí)期分別擁有1000、5000、800個(gè)金幣;

  李四在年輕、中年和老年時(shí)期分別擁有1200、6000、500個(gè)金幣。

  現(xiàn)在我們想把兩人在不同階段擁有的金幣用類似如下的表格來展現(xiàn):

  姓名年輕中年老年

  張三10005000800

  李四12006000500

  我們現(xiàn)在考慮用最簡單和直接的辦法來實(shí)現(xiàn),其實(shí)關(guān)鍵是如何創(chuàng)建那些需要增加的列,且如何設(shè)定其值,現(xiàn)在我們來創(chuàng)建“年輕”列,關(guān)鍵的問題是,這一列的值如何設(shè)定?合法的邏輯應(yīng)該是這樣:如果該行不是“年輕”時(shí)代,那么其“金錢”我們認(rèn)為是0,那么sql語句如何寫呢?

  如果是用的SQL Server,那么肯定要用到case了:

  case  [時(shí)代] when '年輕' then [金錢] else 0 end as 年輕

  或

  case when  [時(shí)代]= '年輕' then [金錢] else 0 end as 年輕

  如果用的是Oracle,美國空間,那么要用到decode函數(shù),decode(1+1,3,'錯(cuò)',2,'是',5,'錯(cuò)','都不滿足下返回的值'),這個(gè)函數(shù)將返回“是”,具體用法限于篇幅這里不再介紹,相信大家從這個(gè)式子可以大概了解到其意思,用decode創(chuàng)建“年輕”列的句子是:完整的sql語句如下所示:

  decode(時(shí)代,'年輕',金錢,0)) 年輕

 SELECT [姓名],[時(shí)代],[金錢],

  case  [時(shí)代] when '年輕' then [金錢] else 0 end as 年輕,

  case  [時(shí)代] when '中年' then [金錢] else 0 end as 中年,

  case  [時(shí)代] when '老年' then [金錢] else 0 end as 老年

  FROM [test].[dbo].[people]

  現(xiàn)在我們來看看其執(zhí)行結(jié)果:

  

  相信看到這個(gè)結(jié)果,大家都知道下一步該做什么,香港虛擬主機(jī),那就是分組:按姓名分組,并且對(duì)三個(gè)時(shí)代的金錢進(jìn)行求和:

  select [姓名],sum([年輕]) as 年輕,sum([中年]) as 中年,sum([老年]) as 老年 from

  (SELECT [姓名],[時(shí)代],[金錢],

  case  [時(shí)代] when '年輕' then [金錢] else 0 end as 年輕,

  case  [時(shí)代] when '中年' then [金錢] else 0 end as 中年,

  case  [時(shí)代] when '老年' then [金錢] else 0 end as 老年

  FROM [test].[dbo].[people]) t

  group by [姓名]

  這里用到了子查詢,是為了邏輯更清晰一點(diǎn),服務(wù)器空間,其實(shí)可以不用子查詢;至于oracle下的sql語句,除了要使用decode之外,其余幾乎一致,本人正是在oracle中實(shí)現(xiàn)之后才研究了下sql server下的實(shí)現(xiàn)方式。

  最后看看結(jié)果:

  

  事實(shí)上,當(dāng)列不固定的時(shí)候,比如除了“年輕”、“中年”、“老年”以外還有其他的未知的時(shí)代,實(shí)現(xiàn)思路其實(shí)基本一致,只是需要?jiǎng)討B(tài)生成sql而已。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

sqlserver和oracle行轉(zhuǎn)列的一種典型方法

sqlserver和oracle行轉(zhuǎn)列的一種典型方法:對(duì)于有些業(yè)務(wù)來說,數(shù)據(jù)在表中的存儲(chǔ)和其最終的Grid表現(xiàn)恰好相當(dāng)于把源表倒轉(zhuǎn),那么這個(gè)時(shí)候我們就碰到了如何把行轉(zhuǎn)化為列的問題,為了簡化問題,我們且看如下查詢出來的數(shù)據(jù),您不必關(guān)心表的設(shè)計(jì)以及sql語句: 假設(shè)用到的sql語句為: SELECT [姓名],[
推薦度:
標(biāo)簽: 方法 一種 oracle
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产一区二区三区视频在线观看 | 久久亚洲精品国产精品777777 | 成人在线视频一区 | 日韩欧美一二区 | 国产在线欧美日韩一区二区 | 欧美另类网 | 99久久亚洲精品影院 | 91麻豆精品国产91久久久久久 | 综合伊人久久在一二三区 | 日韩在线播放一区 | 免费a一毛片 | 亚洲午夜久久久精品影院 | 永久免费观看的毛片的网站下载 | 精品在线观看国产 | 国产成人不卡亚洲精品91 | 国产最新精品视频 | 国产在线播放一区二区 | 国产精品欧美亚洲韩国日本不卡 | 欧美一区二区三区香蕉视 | 久久一级毛片 | 久国产精品视频 | 国偷自产一区二区免费视频 | 国产a视频精品免费观看 | 最新欧美日韩 | 亚洲欧美另类自拍第一页 | 一本色道久久88综合亚洲精品高清 | 精品国产一区二区三区2021 | 一区二区国产在线观看 | 98成人网 | 日韩综合网| 欧美午夜一区二区福利视频 | 国产一区二区精品 | 香蕉视频在线观看网站 | 欧美视频区 | 国内精品视频免费观看 | 91久久国产综合精品女同我 | 国产成人久久久精品毛片 | 日本成人久久 | 亚洲va欧美ⅴa国产va影院 | 日韩欧美极品 | 亚洲第一大网站 |