麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > XML > 正文

FOR XML PATH 應(yīng)用及其反向分解

2024-07-21 02:46:01
字體:
供稿:網(wǎng)友
FOR xml PATH 應(yīng)用及其反向分解

數(shù)據(jù)庫環(huán)境:SQL SERVER 2005

  我們實(shí)現(xiàn)將同一組的數(shù)據(jù)內(nèi)容合并到一行的時(shí)候,可以通過FOR XML PATH來實(shí)現(xiàn)。

有數(shù)據(jù)如圖1,要實(shí)現(xiàn)圖2的效果

圖1 圖2

1.圖1到圖2的FOR XML PATH實(shí)現(xiàn)

  網(wǎng)上有很多介紹FOR XML的方法,這里不再細(xì)說,感興趣的朋友可以去查詢一下它的用法。

--數(shù)據(jù)準(zhǔn)備;WITH    x0          AS ( SELECT   1 AS id ,                        '001' AS ty               UNION ALL               SELECT   1 AS id ,                        '002' AS ty               UNION ALL               SELECT   2 AS id ,                        '003' AS ty               UNION ALL               SELECT   3 AS id ,                        '004' AS ty               UNION ALL               SELECT   3 AS id ,                        '1234' AS ty               UNION ALL               SELECT   4 AS id ,                        '01' AS ty               UNION ALL               SELECT   4 AS id ,                        '005' AS ty               UNION ALL               SELECT   4 AS id ,                        '006' AS ty             )     /*實(shí)現(xiàn)*/    SELECT  id ,            STUFF(ty, 1, 1, '') AS ty    FROM    ( SELECT    id ,                        ( SELECT    ',' + x2.ty                          FROM      x0 x2                          WHERE     x2.id = x1.id                        FOR                          XML PATH('')                        ) AS ty              FROM      x0 x1              GROUP BY  id            ) t
View Code

2.圖2到圖1的遞歸實(shí)現(xiàn)

  從圖2到圖1,實(shí)現(xiàn)的方法不止遞歸一種方法,各位可以試著用其它方法解決。

/*準(zhǔn)備數(shù)據(jù)*/WITH    x0          AS ( SELECT   1 AS id ,                        '001,002' AS ty               UNION ALL               SELECT   2 AS id ,                        '003' AS ty               UNION ALL               SELECT   3 AS id ,                        '004,1234' AS ty               UNION ALL               SELECT   4 AS id ,                        '01,005,006' AS ty             ),        x1 ( id, ty1, ty2 )          AS ( SELECT   id ,                        CASE WHEN CHARINDEX(',', ty, 1) > 0                             THEN CONVERT(VARCHAR(10), LEFT(ty,                                                            CHARINDEX(',', ty,                                                              1) - 1))                             ELSE ty                        END AS ty1 ,--本次拆分字符                        CASE WHEN CHARINDEX(',', ty, 1) > 0 THEN                              STUFF(ty + ',', 1, CHARINDEX(',', ty), '')                             ELSE NULL                        END AS ty2--待拆分字符串               FROM     x0               UNION ALL               SELECT   id ,                        CONVERT(VARCHAR(10), LEFT(ty2,                                                  NULLIF(CHARINDEX(',', ty2, 1),                                                         0) - 1)) AS ty1 ,--本次拆分字符                        STUFF(ty2, 1, CHARINDEX(',', ty2), '') AS ty2--待拆分字符串               FROM     x1               WHERE    CHARINDEX(',', ty2, 1) > 0             )    SELECT  id,ty1 AS ty    FROM    x1 ORDER BY id
View Code


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色片在线播放 | 女教师~淫辱の动漫在线 | 久久草在线视频 | 日本一区二区免费在线观看 | 色婷婷久久一区二区 | 国产99视频精品免视看9 | 欧美1—12sexvideos | 国产91九色 | 精品一区二区三区日本 | 成人毛片网站 | 伊人成人免费视频 | 在线播放黄色片 | 国产午夜精品一区二区三区四区 | 日本黄色不卡视频 | 中文日韩在线视频 | 黄色片网站在线免费观看 | 涩涩伊人 | 黑色丝袜美美女被躁视频 | 日本精品一二区 | 综合在线一区 | 成人毛片在线免费观看 | 精品国产乱码久久久久久丨区2区 | 色交视频| 男女羞羞的视频 | 看一级大毛片 | 牛牛视频在线 | 毛片免费看网站 | 高清在线观看av | 草人人| 国产成人精品自拍视频 | 久久17 | 久久久久北条麻妃免费看 | 黄色小视频免费在线观看 | 欧美亚洲国产日韩 | 欧产日产国产精品99 | 久色免费视频 | 超碰人人做人人爱 | 国产精品一区二av18款 | 日日操夜夜操视频 | 欧美人禽 | 激情视频在线播放 |