日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Sql Server實現多行數據按分組用逗號分隔成一行

系統 5318 0

例如,要將下面的數據

以GROUP_ID進行分組,一組一行,一組中的多個PRODUCT_ID用逗號分隔,select 出來成如下結果:

?

在Sql Server中,我目前想到的一種方法是寫一個函數,如下:

      
        CREATE
      
      
        FUNCTION
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        FN_GetProductsByGroup
      
      
        ]
      
      
        

(

    
      
      
        @GroupId
      
      
        int
      
      
        

)


      
      
        RETURNS
      
      
        [
      
      
        nvarchar
      
      
        ]
      
      (
      
        4000
      
      
        )


      
      
        AS
      
      
        BEGIN
      
      
        DECLARE
      
      
        @ReturnValue
      
      
        [
      
      
        nvarchar
      
      
        ]
      
      (1
      
        000
      
      
        )

    
      
      
        SET
      
      
        @ReturnValue
      
      
        =
      
      
        ''
      
      
        SELECT
      
      
        @ReturnValue
      
      
        =
      
      
        @ReturnValue
      
      
        +
      
      
        RTRIM
      
      (
      
        LTRIM
      
      (PRODUCT_ID))  
      
        +
      
      
        '
      
      
        ,
      
      
        '
      
      
        FROM
      
      
         T_DEMO

        
      
      
        WHERE
      
       GROUP_ID 
      
        =
      
      
        @GroupId
      
      
        SET
      
      
        @ReturnValue
      
      
        =
      
      
        substring
      
      (
      
        @ReturnValue
      
      ,
      
        1
      
      ,
      
        len
      
      (
      
        @ReturnValue
      
      )
      
        -
      
      
        1
      
      
        )

    
      
      
        RETURN
      
      
        @ReturnValue
      
      
        END
      
    

然后查詢語句這樣寫:

      
        SELECT
      
       GROUP_ID, 
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        FN_GetProductsByGroup
      
      
        ]
      
      (GROUP_ID) 
      
        As
      
      
         PRODUCTS


      
      
        FROM
      
      
         T_DEMO


      
      
        GROUP
      
      
        BY
      
       GROUP_ID
    

查詢結果如下圖所示:

在Sql Server中,不知道有沒有哪位大俠能否只用純SELECT語句實現出來,不使用函數和存儲過程。

?

Sql Server實現多行數據按分組用逗號分隔成一行數據


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 清苑县| 磐安县| 上高县| 射洪县| 顺昌县| 谷城县| 交城县| 西平县| 哈密市| 榆林市| 织金县| 兴宁市| 获嘉县| 松江区| 微博| 安康市| 咸宁市| 吉安县| 万安县| 安化县| 长兴县| 旬邑县| 昌乐县| 时尚| 台江县| 镇江市| 峨眉山市| 洛宁县| 永寿县| 横山县| 凤庆县| 宁乡县| 邓州市| 兰溪市| 化隆| 花莲市| 同德县| 江口县| 宁南县| 枣庄市| 庐江县|