乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

       xxcc140 2019-11-30

      SQL Server數(shù)據(jù)查詢列轉(zhuǎn)行

      在SQL Server數(shù)據(jù)庫表查詢過程中,我們往往需要將查詢結(jié)果中的列數(shù)據(jù)進行處理,如拼接成一條完整的記錄。這些操作一般簡稱為查詢結(jié)果的列轉(zhuǎn)行操作。本文以某一項目實際需求為背景對查詢結(jié)果的列轉(zhuǎn)行實現(xiàn)過程進行分析。


      問題描述

      假設存在以下數(shù)據(jù)表,數(shù)據(jù)表名稱為judger,字段包括sid,sname,jid,pname。該表為某競賽裁判信息表,其中sid為競賽項目編號,sname為競賽名稱,jid為裁判編號,pname為裁判所屬省份。表結(jié)構(gòu)及基本數(shù)據(jù)描述如下圖:

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

      裁判表及測試用數(shù)據(jù)

      裁判表及測試用數(shù)據(jù)描述如上表,項目要求按照競賽項目分別統(tǒng)計裁判人數(shù)、與裁判省份信息,其中裁判省份需要將其顯示到單個字段中,數(shù)據(jù)格式為該項目所有裁判省份去掉重復的,逗號間隔。合并競賽編號與名稱為一個字段顯示。以上測試數(shù)據(jù)要求顯示效果展示如下:

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

      要求查詢結(jié)果


      解決措施與所需知識

      以上問題為典型列轉(zhuǎn)行問題,同時涉及到數(shù)據(jù)表的分組統(tǒng)計方法。主要所需使用到的知識包括cancat函數(shù)、count函數(shù)、stuff函數(shù)的使用,函數(shù)及相關(guān)知識點說明如下:

      1、cancat()函數(shù)

      該函數(shù)主要用于實現(xiàn)將多個字符串進行連接,其語法定義為cancat(string1,...stringn),即可以將n個字符串連接成一個字符串,對應該項目問題競賽編號與競賽名稱可以使用cancat進行連接。所需注意如果字段類型為數(shù)值型,需要首先類型轉(zhuǎn)換為字符串。如:concat(sid , sname)

      2、count()函數(shù)

      該函數(shù)為SQL Server所提供的聚合函數(shù),用于統(tǒng)計某一字段的行數(shù),參數(shù)可給出字段名稱,如果使用通配符*,則統(tǒng)計記錄的數(shù)量。本例題需要統(tǒng)計裁判員的人數(shù),可帶參數(shù)jid,實現(xiàn)裁判員人數(shù)的統(tǒng)計。如count(jid)。

      3、stuff()函數(shù)

      該函數(shù)用于刪除字符串中的某一部分,然后從指定位置插入子字符串,函數(shù)原型為:

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

      stuff函數(shù)說明

      4、for xml path()

      該語句可放在查詢語句的末尾,主要用以實現(xiàn)將查詢結(jié)果以XML格式進行保存,查詢結(jié)果輸出為XML的元素,元素的名稱標記為path()所待參數(shù)。如path('aa') 則可以理解輸出的xml結(jié)構(gòu)為<aa>value</aa>形式。path參數(shù)取空字符,則直接連接查詢結(jié)果。

      5、去掉重復行distinct

      distinct主要用于在查詢結(jié)果中去掉重復的數(shù)據(jù),如本例題需要去掉裁判重復的省份信息,因此需要在查詢的省份字段前加上distinct以實現(xiàn)去掉重復的省份信息。

      6、其他所需知識

      除以上所需知識之外,本例分組列數(shù)據(jù)轉(zhuǎn)行操作,其他相關(guān)知識點包括重命名 AS 方法,order by排序方法等。


      編碼實現(xiàn)

      在明確以上問題之后我們就可以編寫SQL語句實現(xiàn)指定功能的查詢操作,本例實現(xiàn)代碼描述如下圖所示:

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

      實現(xiàn)代碼截圖

      實現(xiàn)代碼描述如上圖,代碼分析說明如下:

      數(shù)據(jù)庫教程-SQL Server查詢結(jié)果列轉(zhuǎn)行實現(xiàn)與分析

      實現(xiàn)代碼及分析

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多