黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

pivot的用法(SQL SERVER 2005以上)

系統(tǒng) 2251 0

?

OA系統(tǒng)聽(tīng)過(guò)木有?OA流程知道吧??OA系統(tǒng)都會(huì)有流程,而流程就需要有表單(也就是流程中需要提交的數(shù)據(jù)).這些表單會(huì)因流程的不同而不同.怎么個(gè)不同法呢,舉個(gè)例吧:假如我需要通過(guò)OA系統(tǒng)來(lái)申請(qǐng)一個(gè)請(qǐng)假流程,那么在這個(gè)流程中,我可能要填到一個(gè)表單(也叫選項(xiàng)):請(qǐng)假原因.同樣的,假如我需要申請(qǐng)一個(gè)加班流程的話,那么在這個(gè)流程當(dāng)中,我理所當(dāng)然的要填一個(gè)表單:加班原因.

做過(guò)web表單的人都清楚,這些數(shù)據(jù)是要存到數(shù)據(jù)表里面的,一般來(lái)說(shuō)我們儲(chǔ)存的形式應(yīng)該如下面兩幅圖所示:

圖一:請(qǐng)假表(test_qingjia)

?

圖二:加班表(test_jiaban)


????????好了,很普通的表.那如果我們的表單某一天需要變更呢?比如新增一個(gè)字段,又或刪掉一個(gè)字段,是用Alter語(yǔ)法來(lái)修改表嗎??新增還好說(shuō),萬(wàn)一要?jiǎng)h除呢?數(shù)據(jù)不就完蛋啦???用標(biāo)識(shí)?你怎么告訴系統(tǒng)哪個(gè)字段是要顯示出來(lái)的,哪里數(shù)據(jù)是暫時(shí)停用的??用另一張表把這些字段名稱都存著?然后select的時(shí)候不select * 而select [...]??好想法,不過(guò)這也太麻煩了.那咋辦啊?看標(biāo)題...
????????沒(méi)錯(cuò),廣大淫民群眾的福音到了,下面要介紹的東西就是為了解決上面的難題的.實(shí)際上,OA系統(tǒng)中一般來(lái)說(shuō)會(huì)有兩張表,一張是用來(lái)存放流程的名稱、新建的日期、新建人啊、流程主鍵等等信息,然后會(huì)在另外一張表存放對(duì)應(yīng)的表單字段等等信息。第一張表就不說(shuō)了,我只說(shuō)第二張表的,我只以請(qǐng)假表為例子說(shuō)明一下,先上圖。

pivot的用法(SQL SERVER 2005以上)

圖三:OA系統(tǒng)中的請(qǐng)假表單字段存放形式(表名:table_test)

?

????????好了,圖看完了沒(méi)有,這就是字段的存放方式了。那怎么樣從這個(gè)鳥(niǎo)得到圖一的輸出呢??直接貼上代碼好了,如下:至于pivot的用法,最好意會(huì),懶得言傳,詳見(jiàn)百度。

        
          select
        
         id,
        
          [
        
        
          姓名
        
        
          ]
        
        ,
        
          [
        
        
          開(kāi)始時(shí)間
        
        
          ]
        
        ,
        
          [
        
        
          結(jié)束時(shí)間
        
        
          ]
        
        ,
        
          [
        
        
          請(qǐng)假原因
        
        
          ]
        
        
          from
        
        
           (


        
        
          select
        
        
           id,names,colvalue


        
        
          from
        
        
           table_test

) 
        
        
          as
        
         table1 pivot (
        
          max
        
        (colvalue) 
        
          for
        
         names 
        
          in
        
        (
        
          [
        
        
          姓名
        
        
          ]
        
        ,
        
          [
        
        
          開(kāi)始時(shí)間
        
        
          ]
        
        ,
        
          [
        
        
          結(jié)束時(shí)間
        
        
          ]
        
        ,
        
          [
        
        
          請(qǐng)假原因
        
        
          ]
        
        )) 
        
          as
        
         col1
      

?????????執(zhí)行結(jié)果如下:

? 圖四: 輸出結(jié)果

?

????????注:為了好說(shuō)明,我直接把字段名稱建成了中文的,另外,由于我的系統(tǒng)都是繁體版的,輸入簡(jiǎn)體有亂碼,無(wú)奈之下,截圖的時(shí)候看到的都是繁體,有看不懂的小朋友可以Q我一下,我?guī)兔Ψg一下,由于本人目前能力實(shí)在有限,所以只能向廣大的女性朋友翻譯,還提供上門服務(wù),讓您感到真正的貼心、放心和省心。

????????另外,那個(gè)字段的type估計(jì)還有別的用法的吧,只是我也是昨天剛接觸,還沒(méi)深入了解,所以也不獻(xiàn)丑了,各位不防自己試試?知道用法的也可以在這里留言。

?????????最后,甩一句:只有想不到,沒(méi)有做不到。

pivot的用法(SQL SERVER 2005以上)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論