FOR XML PATH應用之用一條SQL語句橫向合并結果行

          合并前結果集:

          id FType FName
          1 水果類 蘋果
          2 水果類 香蕉
          3 水果類 雪梨
          4 水果類 西瓜
          5 水果類 荔枝
          6 水果類 柚子
          7 交通類 公車
          8 交通類 地鐵
          9 交通類 動車
          10 交通類 火車
          11 交通類 汽車
          12 交通類 輪船
          13 動物類 小貓
          14 動物類 小狗
          15 動物類 兔子
          16 動物類 小鳥

          合并后結果集:

          FType FName
          動物類 小貓、小狗、兔子、小鳥
          交通類 公車、地鐵、動車、火車、汽車、輪船
          水果類 蘋果、香蕉、雪梨、西瓜、荔枝、柚子

          第一步:建立測試環境

          [code lang=”sql”]?if exists (select * from sysobjects where id = OBJECT_ID(‘[tbFruit]’) and OBJECTPROPERTY(id, ‘IsUserTable’) = 1)
          DROP TABLE [tbFruit]

          CREATE TABLE [tbFruit] (
          id int IDENTITY (1, 1) NOT NULL,
          FType nvarchar(50) null,
          FName nvarchar(50) NULL
          )

          INSERT [tbFruit] (FType,[FName]) VALUES (‘水果類’, ‘蘋果’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘水果類’,’香蕉’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘水果類’, ‘雪梨’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘水果類’,’西瓜’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘水果類’, ‘荔枝’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘水果類’,’柚子’)

          INSERT [tbFruit] (FType,[FName]) VALUES (‘交通類’, ‘公車’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘交通類’,’地鐵’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘交通類’, ‘動車’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘交通類’,’火車’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘交通類’, ‘汽車’)
          INSERT [tbFruit] (FType,[FName]) VALUES ( ‘交通類’,’輪船’)

          INSERT [tbFruit] (FType,[FName]) VALUES (‘動物類’, ‘小貓’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘動物類’, ‘小狗’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘動物類’, ‘兔子’)
          INSERT [tbFruit] (FType,[FName]) VALUES (‘動物類’, ‘小鳥’)

          SELECT * FROM [tbFruit]

          第二步:獲取結果

          [code lang=”sql”]SELECT B.FType,LEFT(FName,LEN(FName)-1) as FName FROM (
          SELECT distinct FType,
          (SELECT FName+’、’ FROM tbFruit WHERE FType=A.FType FOR XML PATH(”)) AS FName
          FROM tbFruit A
          ) B

          本博客所有文章如無特別注明均為原創

          如果覺得對你有幫助,可以通過下方打賞對作者表示鼓勵

          本文采用知識共享署名-非商業性使用-相同方式共享

          如若轉載,請注明出處:《FOR XML PATH應用之用一條SQL語句橫向合并結果行》http://www.solariosolutions.com/186.html

          (0)
          打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
          鋒哥的頭像鋒哥管理員
          上一篇 2013年5月14日
          下一篇 2013年5月14日

          相關推薦

          發表回復

          登錄后才能評論
          国产厨房乱子伦露脸,XXXXAAA欧美,日本 888 XXXX,国产欧美日韩一区二区图片