【T-SQL系列】FOR XML PATH 語句的應用

來源:互聯網
上載者:User

標籤:style   blog   http   ar   color   os   sp   for   on   

原文:【T-SQL系列】FOR XML PATH 語句的應用

DECLARE @TempTable TABLE    (      UserID INT ,      UserName NVARCHAR(50)    );INSERT  INTO @TempTable        ( UserID, UserName )VALUES  ( 1, ‘a‘ )INSERT  INTO @TempTable        ( UserID, UserName )VALUES  ( 2, ‘b‘ )  SELECT  UserID ,        UserNameFROM    @TempTableFOR     XML PATH--其實PATH() 括弧內的參數是控制節點名稱的SELECT  UserID ,        UserNameFROM    @TempTableFOR     XML PATH(‘lzy‘)--這樣就不顯示上級節點了SELECT  UserID ,        UserNameFROM    @TempTableFOR     XML PATH(‘‘)--大家可以根據自己需要的格式進行組合SELECT  CAST(UserID AS VARCHAR) + ‘‘ ,        UserName + ‘‘FROM    @TempTableFOR     XML PATH(‘‘)SELECT  CAST(UserID AS VARCHAR) + ‘,‘ ,        UserName + ‘‘ ,        ‘;‘FROM    @TempTableFOR     XML PATH(‘‘)SELECT  ‘{‘ + CAST(UserID AS VARCHAR) + ‘,‘ ,        ‘"‘ + UserName + ‘"‘ ,        ‘}‘FROM    @TempTableFOR     XML PATH(‘‘)

對應結果集:

下面是一個資料統計的應用,希望大家可以通過下面的執行個體想到更多的應用

DECLARE @T1 TABLE    (      UserID INT ,      UserName NVARCHAR(50) ,      CityName NVARCHAR(50)    );INSERT  INTO @T1        ( UserID, UserName, CityName )VALUES  ( 1, ‘a‘, ‘上海‘ )INSERT  INTO @T1        ( UserID, UserName, CityName )VALUES  ( 2, ‘b‘, ‘北京‘ )INSERT  INTO @T1        ( UserID, UserName, CityName )VALUES  ( 3, ‘c‘, ‘上海‘ )INSERT  INTO @T1        ( UserID, UserName, CityName )VALUES  ( 4, ‘d‘, ‘北京‘ )INSERT  INTO @T1        ( UserID, UserName, CityName )VALUES  ( 5, ‘e‘, ‘上海‘ )SELECT  *FROM    @T1SELECT  CityName ,        ( SELECT    UserName + ‘,‘          FROM      @T1          WHERE     CityName = A.CityName        FOR          XML PATH(‘‘)        ) AS UserListFROM    @T1 AGROUP BY CityName--產生結果(每個城市的使用者名稱)SELECT  B.CityName ,        LEFT(UserList, LEN(UserList) - 1)FROM    ( SELECT    CityName ,                    ( SELECT    UserName + ‘,‘                      FROM      @T1                      WHERE     CityName = A.CityName                    FOR                      XML PATH(‘‘)                    ) AS UserList          FROM      @T1 A          GROUP BY  CityName        ) B

對應結果集:

【T-SQL系列】FOR XML PATH 語句的應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.