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

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

系統 4927 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條評論
主站蜘蛛池模板: 武隆县| 永兴县| 乐业县| 神农架林区| 凌海市| 安吉县| 大新县| 仲巴县| 定南县| 左云县| 云龙县| 漳平市| 内丘县| 余干县| 大埔区| 乌拉特后旗| 正定县| 凤凰县| 名山县| 石台县| 兰西县| 美姑县| 隆安县| 新蔡县| 郁南县| 富顺县| 绵竹市| 来安县| 中方县| 太和县| 房山区| 璧山县| 德州市| 辽源市| 小金县| 宁化县| 蒙山县| 温宿县| 扶沟县| 延长县| 娱乐|