/*
1.问题
2.例子
3.解决方法
  3.1已有的可行方式
  3.2未能实现的思路,寻求答案4.表结构及原始数据生成
*/1.
问题 :根据列值合并多行数据
      国家行政区划数据表. 根据市的RegionID取得其下属管辖城市的ID 加 名称 列表字符串
---2.
EXAMPLE:
待处理数据
 
1 河北省 0 1
2 石家庄市 1 2
3 长安区 2 3
4 桥东区 2 3期望输入
ParentID   
  2        ["3","长安区"],["4","桥东区"] ------
3.1解决方式一 
   declare    @xuexiao varchar(2000)
set @xuexiao=''select @xuexiao=@xuexiao+a.aa+',' from (select '["'+cast(regionid as varchar(10))+'","'+regionname+'"]' aa from dbo.Region where ParentID=2) a
select  @xuexiao
---
3.2未能实现的思路 希望能通过这两张临时表一次性生成所需的全部数据. 即 各市及其下属行政区划的字符串
      select '["'+ cast(r.regionid as varchar(10)) +'","'+ regionName+ '"]' countyname  ,parentid
from region r where level=3
select * from region where parentid =2
4。SQL--0。原始表region
USE [NewCourse]
GO
/****** 对象:  Table [dbo].[Region]    脚本日期: 05/21/2009 18:45:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
IF OBJECT_ID ( 'Region', 'U' ) IS NOT NULL 
    DROP table Region;
GO
CREATE TABLE [dbo].[Region](
[RegionID] [int] IDENTITY(1,1) NOT NULL,
[RegionName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ParentID] [int] NOT NULL,
[Level] [int] NOT NULL,
 CONSTRAINT [PK_Region] PRIMARY KEY CLUSTERED 
(
[RegionID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]GO
SET ANSI_PADDING OFF 
--1.创建一个临时表regiontest,与region表结构相同,但key不自动增长
USE [NewCourse]
GO
/****** 对象:  Table [dbo].[RegionTest]    脚本日期: 05/21/2009 18:44:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
IF OBJECT_ID ( 'RegionTest', 'U' ) IS NOT NULL 
    DROP table RegionTest;
GO
CREATE TABLE [dbo].[RegionTest](
[RegionID] [int] NOT NULL,
[RegionName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ParentID] [int] NOT NULL,
[Level] [int] NOT NULL,
 CONSTRAINT [PK_RegionTest] PRIMARY KEY CLUSTERED 
(
[RegionID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]GO
SET ANSI_PADDING OFF--

解决方案 »

  1.   

    --2.插入所有省,市,县三级信息到regiontest表中
     
     
    insert into regiontest values(130000,'河北省',-1,-1) 
    insert into regiontest values(130100,'石家庄市',-1,-1) 
    insert into regiontest values(130101,'市辖区',-1,-1) 
    insert into regiontest values(130102,'长安区',-1,-1) 
    insert into regiontest values(130103,'桥东区',-1,-1) 
    insert into regiontest values(130104,'桥西区',-1,-1) 
    insert into regiontest values(130105,'新华区',-1,-1) 

    insert into regiontest values(130703,'桥西区',-1,-1) 
    insert into regiontest values(130705,'宣化区',-1,-1) 
    insert into regiontest values(130706,'下花园区  ',-1,-1) 
    insert into regiontest values(130721,'宣化县',-1,-1) 
    insert into regiontest values(130722,'张北县',-1,-1) 
    insert into regiontest values(130723,'康保县',-1,-1) 
    insert into regiontest values(130724,'沽源县',-1,-1) 
    insert into regiontest values(130725,'尚义县',-1,-1) 
    insert into regiontest values(130726,'蔚县',-1,-1) 
    insert into regiontest values(130727,'阳原县',-1,-1) 
    insert into regiontest values(130728,'怀安县',-1,-1) 
    insert into regiontest values(130729,'万全县',-1,-1) 
    insert into regiontest values(130730,'怀来县',-1,-1) 
    insert into regiontest values(130731,'涿鹿县',-1,-1) 
    insert into regiontest values(130732,'赤城县',-1,-1) 
    insert into regiontest values(130733,'崇礼县',-1,-1) 
    insert into regiontest values(130800,'承德市  ',-1,-1) 
    insert into regiontest values(130801,'市辖区',-1,-1) 
    insert into regiontest values(130802,'双桥区',-1,-1) 
    insert into regiontest values(130803,'双滦区',-1,-1) 
    insert into regiontest values(130804,'鹰手营子矿区 ',-1,-1) 
    insert into regiontest values(130821,'承德县',-1,-1) 
    insert into regiontest values(130822,'兴隆县',-1,-1) 
    insert into regiontest values(130823,'平泉县',-1,-1) 
    insert into regiontest values(130824,'滦平县',-1,-1) 
    insert into regiontest values(130825,'隆化县',-1,-1) 
    insert into regiontest values(130826,'丰宁满族自治县 ',-1,-1) 
    insert into regiontest values(130827,'宽城满族自治县 ',-1,-1) 
    insert into regiontest values(130828,'围场满族蒙古族自治县 ',-1,-1) 
    insert into regiontest values(130900,'沧州市  ',-1,-1) 
    insert into regiontest values(130901,'市辖区',-1,-1) 
    insert into regiontest values(130902,'新华区',-1,-1) 
    insert into regiontest values(130903,'运河区',-1,-1) 
    insert into regiontest values(130921,'沧县',-1,-1) 
    insert into regiontest values(130922,'青县',-1,-1) 
     
      

  2.   


    insert into regiontest values(130000,'河北省',-1,-1) 
    insert into regiontest values(130100,'石家庄市',-1,-1) 
    insert into regiontest values(130101,'市辖区',-1,-1) 
    insert into regiontest values(130102,'长安区',-1,-1) 
    insert into regiontest values(130103,'桥东区',-1,-1) 
    insert into regiontest values(130104,'桥西区',-1,-1) 
    insert into regiontest values(130105,'新华区',-1,-1) 
    insert into regiontest values(130107,'井陉矿区  ',-1,-1) 
    insert into regiontest values(130108,'裕华区',-1,-1) 
    insert into regiontest values(130121,'井陉县',-1,-1) 
    insert into regiontest values(130123,'正定县',-1,-1) 
    insert into regiontest values(130124,'栾城县',-1,-1) 
    insert into regiontest values(130125,'行唐县',-1,-1) 
    insert into regiontest values(130126,'灵寿县',-1,-1) 
    insert into regiontest values(130127,'高邑县',-1,-1) 
    insert into regiontest values(130128,'深泽县',-1,-1) 
    insert into regiontest values(130129,'赞皇县',-1,-1) 
    insert into regiontest values(130130,'无极县',-1,-1) 
    insert into regiontest values(130131,'平山县',-1,-1) 
    insert into regiontest values(130132,'元氏县',-1,-1) 
    insert into regiontest values(130133,'赵县',-1,-1) 
    insert into regiontest values(130181,'辛集市',-1,-1) 
    insert into regiontest values(130182,'藁城市',-1,-1) 
    insert into regiontest values(130183,'晋州市',-1,-1) 
    insert into regiontest values(130184,'新乐市',-1,-1) 
    insert into regiontest values(130185,'鹿泉市',-1,-1) 
    insert into regiontest values(130200,'唐山市  ',-1,-1) 
    insert into regiontest values(130201,'市辖区',-1,-1) 
    insert into regiontest values(130202,'路南区',-1,-1) 
    insert into regiontest values(130203,'路北区',-1,-1) 
    insert into regiontest values(130204,'古冶区',-1,-1) 
    insert into regiontest values(130205,'开平区',-1,-1) 
    insert into regiontest values(130207,'丰南区',-1,-1) 
    insert into regiontest values(130208,'丰润区',-1,-1) 
    insert into regiontest values(130223,'滦县',-1,-1) 
    insert into regiontest values(130224,'滦南县',-1,-1) 
    insert into regiontest values(130225,'乐亭县',-1,-1) 
    insert into regiontest values(130227,'迁西县',-1,-1) 
    insert into regiontest values(130229,'玉田县',-1,-1) 
    insert into regiontest values(130230,'唐海县',-1,-1) 
    insert into regiontest values(130281,'遵化市',-1,-1) 
    insert into regiontest values(130283,'迁安市',-1,-1) 
    insert into regiontest values(130300,'秦皇岛市',-1,-1) 
    insert into regiontest values(130301,'市辖区',-1,-1) 
    insert into regiontest values(130302,'海港区',-1,-1) 
    insert into regiontest values(130303,'山海关区  ',-1,-1) 
    insert into regiontest values(130304,'北戴河区  ',-1,-1) 
    insert into regiontest values(130321,'青龙满族自治县 ',-1,-1) 
      

  3.   


    insert into regiontest values(130322,'昌黎县',-1,-1) 
    insert into regiontest values(130323,'抚宁县',-1,-1) 
    insert into regiontest values(130324,'卢龙县',-1,-1) 
    insert into regiontest values(130400,'邯郸市  ',-1,-1) 
    insert into regiontest values(130401,'市辖区',-1,-1) 
    insert into regiontest values(130402,'邯山区',-1,-1) 
    insert into regiontest values(130403,'丛台区',-1,-1) 
    insert into regiontest values(130404,'复兴区',-1,-1) 
    insert into regiontest values(130406,'峰峰矿区  ',-1,-1) 
    insert into regiontest values(130421,'邯郸县',-1,-1) 
    insert into regiontest values(130423,'临漳县',-1,-1) 
    insert into regiontest values(130424,'成安县',-1,-1) 
    insert into regiontest values(130425,'大名县',-1,-1) 
    insert into regiontest values(130426,'涉县',-1,-1) 
    insert into regiontest values(130427,'磁县',-1,-1) 
    insert into regiontest values(130428,'肥乡县',-1,-1) 
    insert into regiontest values(130429,'永年县',-1,-1) 
    insert into regiontest values(130430,'邱县',-1,-1) 
    insert into regiontest values(130431,'鸡泽县',-1,-1) 
    insert into regiontest values(130432,'广平县',-1,-1) 
    insert into regiontest values(130433,'馆陶县',-1,-1) 
    insert into regiontest values(130434,'魏县',-1,-1) 
    insert into regiontest values(130435,'曲周县',-1,-1) 
    insert into regiontest values(130481,'武安市',-1,-1) 
    insert into regiontest values(130500,'邢台市  ',-1,-1) 
    insert into regiontest values(130501,'市辖区',-1,-1) 
    insert into regiontest values(130502,'桥东区',-1,-1) 
    insert into regiontest values(130503,'桥西区',-1,-1) 
    insert into regiontest values(130521,'邢台县',-1,-1) 
    insert into regiontest values(130522,'临城县',-1,-1) 
    insert into regiontest values(130523,'内丘县',-1,-1) 
    insert into regiontest values(130524,'柏乡县',-1,-1) 
    insert into regiontest values(130525,'隆尧县',-1,-1) 
    insert into regiontest values(130526,'任县',-1,-1) 
    insert into regiontest values(130527,'南和县',-1,-1) 
    insert into regiontest values(130528,'宁晋县',-1,-1) 
    insert into regiontest values(130529,'巨鹿县',-1,-1) 
    insert into regiontest values(130530,'新河县',-1,-1) 
    insert into regiontest values(130531,'广宗县',-1,-1) 
    insert into regiontest values(130532,'平乡县',-1,-1) 
    insert into regiontest values(130533,'威县',-1,-1) 
    insert into regiontest values(130534,'清河县',-1,-1) 
    insert into regiontest values(130535,'临西县',-1,-1) 
    insert into regiontest values(130581,'南宫市',-1,-1) 
    insert into regiontest values(130582,'沙河市',-1,-1) 
    insert into regiontest values(130600,'保定市  ',-1,-1) 
    insert into regiontest values(130601,'市辖区',-1,-1) 
    insert into regiontest values(130602,'新市区',-1,-1) 
    insert into regiontest values(130603,'北市区',-1,-1) 
    insert into regiontest values(130604,'南市区',-1,-1) 
    insert into regiontest values(130621,'满城县',-1,-1) 
    insert into regiontest values(130622,'清苑县',-1,-1) 
    insert into regiontest values(130623,'涞水县',-1,-1) 
    insert into regiontest values(130624,'阜平县',-1,-1) 
    insert into regiontest values(130625,'徐水县',-1,-1) 
    insert into regiontest values(130626,'定兴县',-1,-1) 
    insert into regiontest values(130627,'唐县',-1,-1) 
    insert into regiontest values(130628,'高阳县',-1,-1) 
    insert into regiontest values(130629,'容城县',-1,-1) 
    insert into regiontest values(130630,'涞源县',-1,-1) 
    insert into regiontest values(130631,'望都县',-1,-1) 
    insert into regiontest values(130632,'安新县',-1,-1) 
    insert into regiontest values(130633,'易县',-1,-1) 
    insert into regiontest values(130634,'曲阳县',-1,-1) 
    insert into regiontest values(130635,'蠡县',-1,-1) 
    insert into regiontest values(130636,'顺平县',-1,-1) 
    insert into regiontest values(130637,'博野县',-1,-1) 
    insert into regiontest values(130638,'雄县',-1,-1) 
    insert into regiontest values(130681,'涿州市',-1,-1) 
    insert into regiontest values(130682,'定州市',-1,-1) 
    insert into regiontest values(130683,'安国市',-1,-1) 
    insert into regiontest values(130684,'高碑店市',-1,-1) 
    insert into regiontest values(130700,'张家口市',-1,-1) 
    insert into regiontest values(130701,'市辖区',-1,-1) 
    insert into regiontest values(130702,'桥东区',-1,-1) 
    insert into regiontest values(130703,'桥西区',-1,-1) 
    insert into regiontest values(130705,'宣化区',-1,-1) 
    insert into regiontest values(130706,'下花园区  ',-1,-1) 
    insert into regiontest values(130721,'宣化县',-1,-1) 
    insert into regiontest values(130722,'张北县',-1,-1) 
    insert into regiontest values(130723,'康保县',-1,-1) 
    insert into regiontest values(130724,'沽源县',-1,-1) 
    insert into regiontest values(130725,'尚义县',-1,-1) 
    insert into regiontest values(130726,'蔚县',-1,-1) 
    insert into regiontest values(130727,'阳原县',-1,-1) 
    insert into regiontest values(130728,'怀安县',-1,-1) 
    insert into regiontest values(130729,'万全县',-1,-1) 
    insert into regiontest values(130730,'怀来县',-1,-1) 
    insert into regiontest values(130731,'涿鹿县',-1,-1) 
    insert into regiontest values(130732,'赤城县',-1,-1) 
    insert into regiontest values(130733,'崇礼县',-1,-1) 
    insert into regiontest values(130800,'承德市  ',-1,-1) 
    insert into regiontest values(130801,'市辖区',-1,-1) 
    insert into regiontest values(130802,'双桥区',-1,-1) 
      

  4.   


    insert into regiontest values(130803,'双滦区',-1,-1) 
    insert into regiontest values(130804,'鹰手营子矿区 ',-1,-1) 
    insert into regiontest values(130821,'承德县',-1,-1) 
    insert into regiontest values(130822,'兴隆县',-1,-1) 
    insert into regiontest values(130823,'平泉县',-1,-1) 
    insert into regiontest values(130824,'滦平县',-1,-1) 
    insert into regiontest values(130825,'隆化县',-1,-1) 
    insert into regiontest values(130826,'丰宁满族自治县 ',-1,-1) 
    insert into regiontest values(130827,'宽城满族自治县 ',-1,-1) 
    insert into regiontest values(130828,'围场满族蒙古族自治县 ',-1,-1) 
    insert into regiontest values(130900,'沧州市  ',-1,-1) 
    insert into regiontest values(130901,'市辖区',-1,-1) 
    insert into regiontest values(130902,'新华区',-1,-1) 
    insert into regiontest values(130903,'运河区',-1,-1) 
    insert into regiontest values(130921,'沧县',-1,-1) 
    insert into regiontest values(130922,'青县',-1,-1) 
    insert into regiontest values(130923,'东光县',-1,-1) 
    insert into regiontest values(130924,'海兴县',-1,-1) 
    insert into regiontest values(130925,'盐山县',-1,-1) 
    insert into regiontest values(130926,'肃宁县',-1,-1) 
    insert into regiontest values(130927,'南皮县',-1,-1) 
    insert into regiontest values(130928,'吴桥县',-1,-1) 
    insert into regiontest values(130929,'献县',-1,-1) 
    insert into regiontest values(130930,'孟村回族自治县 ',-1,-1) 
    insert into regiontest values(130981,'泊头市',-1,-1) 
    insert into regiontest values(130982,'任丘市',-1,-1) 
    insert into regiontest values(130983,'黄骅市',-1,-1) 
    insert into regiontest values(130984,'河间市',-1,-1) 
    insert into regiontest values(131000,'廊坊市  ',-1,-1) 
    insert into regiontest values(131001,'市辖区',-1,-1) 
    insert into regiontest values(131002,'安次区',-1,-1) 
    insert into regiontest values(131003,'广阳区',-1,-1) 
    insert into regiontest values(131022,'固安县',-1,-1) 
    insert into regiontest values(131023,'永清县',-1,-1) 
    insert into regiontest values(131024,'香河县',-1,-1) 
    insert into regiontest values(131025,'大城县',-1,-1) 
    insert into regiontest values(131026,'文安县',-1,-1) 
    insert into regiontest values(131028,'大厂回族自治县 ',-1,-1) 
    insert into regiontest values(131081,'霸州市',-1,-1) 
    insert into regiontest values(131082,'三河市',-1,-1) 
    insert into regiontest values(131100,'衡水市  ',-1,-1) 
    insert into regiontest values(131101,'市辖区',-1,-1) 
    insert into regiontest values(131102,'桃城区',-1,-1) 
    insert into regiontest values(131121,'枣强县',-1,-1) 
    insert into regiontest values(131122,'武邑县',-1,-1) 
    insert into regiontest values(131123,'武强县',-1,-1) 
    insert into regiontest values(131124,'饶阳县',-1,-1) 
    insert into regiontest values(131125,'安平县',-1,-1) 
    insert into regiontest values(131126,'故城县',-1,-1) 
    insert into regiontest values(131127,'景县',-1,-1) 
    insert into regiontest values(131128,'阜城县',-1,-1) 
    insert into regiontest values(131181,'冀州市',-1,-1) 
    insert into regiontest values(131182,'深州市',-1,-1)