本帖最后由 ayurep 于 2009-08-28 14:50:17 编辑

解决方案 »

  1.   


    1 NULL 47 建筑工程服务
    2 NULL 01 房屋工程建筑
    3 NULL 01 住宅及公共房屋建筑工程服务
    4 NULL 01 00 住宅及公共房屋建筑地基与基础工程服务 4710
    5 NULL 02 00 住宅及公共房屋建筑砖石工程服务 4710
    6 NULL 03 00 住宅及公共房屋建筑起重设备工程服务 4710
    7 NULL 04 00 住宅及公共房屋建筑混凝土预制构件工程服务 4710
    8 NULL 05 00 住宅及公共房屋建筑钢结构工程服务 4710
    9 NULL 06 00 住宅及公共房屋建筑预应力工程服务 4710
    10 NULL 07 00 住宅及公共房屋建筑幕墙工程服务 4710
    11 NULL 08 00 住宅及公共房屋建筑防水工程服务 4710
    12 NULL 09 00 住宅及公共房屋建筑附着升降脚手架服务 4710
    13 NULL 10 00 住宅及公共房屋金属门窗工程服务 4710
    14 NULL 99 00 住宅及公共房屋建筑其他工程服务 4710
    15 NULL 02 工矿房屋建筑工程服务
    16 NULL 01 00 工矿房屋建筑地基与基础工程服务 4710
    17 NULL 02 00 工矿房屋建筑砖石工程服务 4710
    18 NULL 03 00 工矿房屋建筑起重设备工程服务 4710
    19 NULL 04 00 工矿房屋建筑混凝土预制构件工程服务 4710
    20 NULL 05 00 工矿房屋建筑钢结构工程服务 4710
    21 NULL 06 00 工矿房屋建筑预应力工程服务 4710
    22 NULL 07 00 工矿房屋建筑幕墙工程服务 4710
    23 NULL 08 00 工矿房屋建筑防水工程服务 4710
    24 NULL 09 00 工矿房屋建筑附着升降脚手架服务 4710
    25 NULL 10 00 工矿房屋金属门窗工程服务 4710
    26 NULL 99 00 工矿房屋建筑其他工程服务 4710
    27 NULL 02 土木工程建筑
    28 NULL 01 铁路、道路、隧道和桥梁工程建筑
    29 NULL 01 铁路工程施工服务
    30 NULL 01 铁路路基工程服务 4721
    31 NULL 02 铁路铺轨桥梁工程服务 4721
    32 NULL 03 铁路电务工程服务 4721
    33 NULL 04 铁路电气化工程服务 4721
    34 NULL 05 铁路隧道工程服务 4721
    35 NULL 99 其他铁路工程服务 4721
    36 NULL 02 公路工程施工服务
    37 NULL 01 公路路基工程施工服务 4721
    38 NULL 02 公路路面工程施工服务 4721
    39 NULL 03 公路交通工程施工服务 4721
    40 NULL 04 公路桥梁工程施工服务 4721
    41 NULL 05 公路隧道工程施工服务 4721
    42 NULL 99 其他公路工程施工服务 4721
    43 NULL 03 城市道路工程施工服务
    44 NULL 01 城市道路路基工程施工服务 4721
    45 NULL 02 城市道路路面工程施工服务 4721
    46 NULL 03 城市道路交通工程施工服务 4721
    47 NULL 04 城市道路桥梁工程施工服务 4721
    48 NULL 99 其他城市道路工程施工服务 4721
    49 NULL 04 城市轨道工程施工服务
    50 NULL 01 城市轨道隧道工程服务 4721
    51 NULL 02 城市轨道路基工程服务 4721
    52 NULL 03 城市轨道桥梁工程服务 4721
    53 NULL 04 城市轨道铺轨工程服务 4721
    54 NULL 05 城市轨道电务工程服务 4721
    55 NULL 99 其他城市轨道工程服务 4721
    56 NULL 05 机场及跑道工程服务
    57 NULL 01 机场场道工程服务 4721
    58 NULL 02 机场空管工程及航站楼弱电系统工程服务 4721
    59 NULL 03 机场目视助航工程服务 4721
    60 NULL 99 机场其他工程服务 4721
    61 NULL 99 00 其他道路、桥梁、隧道施工服务 4721
    62 NULL 02 水利和港口工程建筑
    63 NULL 01 水利工程施工服务
    64 NULL 01 水利土石方工程施工服务 4722
    65 NULL 02 水工建筑物基础处理工程施工服务 4722
    66 NULL 03 水工大坝工程施工服务 4722
    67 NULL 04 水工隧洞工程施工服务 4722
    68 NULL 05 水工金属结构制作与安装工程施工服务 4722
    69 NULL 06 水利水电机电设备安装工程施工服务 4722
    70 NULL 07 河湖整治工程施工服务 4722
    71 NULL 08 堤防工程施工服务 4722
    72 NULL 99 其他水利工程施工服务 4722
    73 NULL 02 港口与航道工程施工服务
    74 NULL 01 港口土石方工程施工服务 4722
    75 NULL 02 港口与海岸工程施工服务 4722
    76 NULL 03 港口装卸设备安装工程施工服务 4722
    77 NULL 04 航道工程施工服务 4722
    78 NULL 05 通航建筑工程施工服务 4722
    79 NULL 06 通航设备安装工程施工服务 4722
    80 NULL 07 水上交通管制工程施工服务 4722
    81 NULL 08 其他港口与航道工程施工服务 4722
    82 NULL 03 工矿工程建筑
    83 NULL 01 10 矿山工程施工服务 4723
    84 NULL 02 09 火电设备安装工程 4723
    85 NULL 03 08 核工程施工服务 4723
    86 NULL 04 07 炉窑工程施工服务 4723
    87 NULL 05 06 冶炼机电设备安装工程施工服务 4723
    88 NULL 06 05 化工石油设备安装工程施工服务 4723
    89 NULL 07 04 海洋石油工程施工服务 4723
    90 NULL 08 03 无损检测工程施工服务 4723
    91 NULL 09 02 环保工程施工服务 4723
    92 NULL 10 01 防腐保温工程施工服务 4723
    93 NULL 99 00 其他共矿工程施工服务 4723
    94 NULL 04 架线和管道工程建筑
    95 NULL 01 架线工程施工服务
    96 NULL 01 送变电工程施工服务 4724
    97 NULL 02 电信工程施工服务 4724
    98 NULL 03 城市及道路照明工程施工服务 4724
    99 NULL 99 其他架线工程施工服务 4724
    100 NULL 02 管道工程施工服务
    101 NULL 01 油、气、水、浆等远程输送管道施工服务 4724
    102 NULL 02 城市管道施工服务 4724
    103 NULL 09 其他管道施工服务 4724
    104 NULL 99 其他土木工程建筑
    105 NULL 01 00 高耸建筑物工程施工服务 4729
    106 NULL 02 00 园林古建筑工程施工服务 4729
    107 NULL 03 00 体育场地设施工程 4729
    108 NULL 04 00 露天娱乐设施工程活动 4729
    109 NULL 05 00 城市固定标志设施活动 4729
    110 NULL 06 00 水井设施工程活动 4729
    111 NULL 99 00 其他未列明的土木建筑活动 4729
    112 NULL 03 建筑安装业
    113 NULL 01 电子工程施工服务
    114 NULL 01 00 雷达、导航与测控系统工程 4800
    115 NULL 02 00 监控系统工程 4800
    116 NULL 03 00 电子自动化工程 4800
    117 NULL 04 00 电子设备安装工程 4800
    118 NULL 99 00 其他电子工程施工服务 4800
    119 NULL 02 智能化安装工程施工服务
    120 NULL 01 00 楼宇设备自控系统工程 4800
    121 NULL 02 00 保安监控及防盗报警系统工程 4800
    122 NULL 03 00 智能卡系统工程 4800
    123 NULL 04 00 通讯系统工程 4800
    124 NULL 05 00 卫星及共用电视系统工程 4800
    125 NULL 06 00 计算机网络系统工程 4800
    126 NULL 07 00 广播系统工程 4800
    127 NULL 08 00 火灾报警系统工程 4800
    128 NULL 99 00 其他智能化安装工程施工服务 4800
    129 NULL 03 机电设备及大型设备安装工程
    130 NULL 01 00 机电设备安装 4800
    131 NULL 02 00 起重设备安装工程 4800
    132 NULL 03 00 电梯安装工程 4800
    133 NULL 99 00 其他大型设备安装服务 4800
    134 NULL 04 电力系统安装服务 4800
    135 NULL 01 00 建筑物照明设备安装服务
    136 NULL 02 00 火车站电力系统安装服务 4800
    137 NULL 03 00 机场电力系统安装服务 4800
    138 NULL 04 00 港口电力系统安装服务 4800
    139 NULL 05 00 工矿企业电力系统安装服务 4800
    140 NULL 99 00 其他电力系统安装服务 4800
    141 NULL 05 建筑物管道系统安装活动
    142 NULL 01 00 建筑物自来水系统安装活动 4800
    143 NULL 02 00 建筑物排水系统安装活动 4800
    144 NULL 03 00 建筑物燃气系统安装 4800
    145 NULL 04 00 建筑物取暖系统安装 4800
    146 NULL 99 00 其他建筑物系统安装 4800
    147 NULL 99 其他设备安装活动
    148 NULL 01 00 绝缘装活动置安装活动 4800
    149 NULL 99 00 其他未列明的设备安装活动 4800
    150 NULL 04 建筑装饰业
    151 NULL 01 室内装修装饰活动
    152 NULL 01 00 木工装修装饰活动 4900
    153 NULL 02 00 砌筑装修装饰活动 4900
    154 NULL 03 00 抹灰装修装饰活动 4900
    155 NULL 04 00 石制装修装饰活动 4900
    156 NULL 05 00 油漆装修装饰活动 4900
    157 NULL 99 00 其他室内装修装饰活动 4900
    158 NULL 02 室内设施维修活动
    159 NULL 01 00 室内电力系统维修活动 4900
    160 NULL 02 00 室内上水系统维修活动 4900
    161 NULL 03 00 室内排水系统维修活动 4900
    162 NULL 04 00 室内取暖系统维修活动 4900
    163 NULL 05 00 室内门窗维修活动 4900
    164 NULL 99 00 其他室内设施维修活动 4900
    165 NULL 03 00 00 室外建筑装修装饰活动 4900
    166 NULL 05 工程准备
    167 NULL 01 00 00 土石方工程 5010
    168 NULL 02 00 00 爆破与拆除工程 5010
    169 NULL 03 00 00 工程排水活动 5010
    170 NULL 99 00 00 其他工程准备活动 5010
    171 NULL 06 提供施工设备服务
    172 NULL 01 00 00 建筑塔吊设备服务 5020
    173 NULL 02 00 00 建筑混凝土设备服务 5020
    174 NULL 99 00 00 其他施工设备服务 5020
    175 NULL 99 其他未列明的建筑活动
    176 NULL 01 00 00 工程放声、防尘设施安装活动 5090
    177 NULL 02 00 00 建筑围栏装卸活动 5090
    178 NULL 99 00 00 其他未包括的建筑活动 5090
    179 NULL 50 建筑业产品 按建筑物的用途划分。此部分主要与联合国《产品总分类》(CPC)对应。
    180 NULL 01 房屋建筑物
    181 NULL 01 住宅房屋 该类指专供居住用的房屋。包括别墅、公寓、各部门的职工家属宿舍和集体宿舍(包括职工单身宿舍和学生宿舍)等供房屋。不包括住宅楼中作为人防工程用的房屋,也不包括不住人的地下室。
    182 NULL 01 普通住宅房屋
    183 NULL 01 单层民宅 4710
    184 NULL 02 多层民宅(六层以下) 4710
    185 NULL 03 高层民宅 4710
    186 NULL 99 其他普通住宅房屋 4710
    187 NULL 02 公寓住宅房屋 4710
    188 NULL 03 别墅式住宅房屋 4710
    189 NULL 01 连体别墅住宅
    190 NULL 02 独幢别墅住宅 4710
    191 NULL 99 其他别墅式住宅房屋 4710
    192 NULL 99 00 其他住宅房屋 4710
    193 NULL 02 商业及服务用房屋
    194 NULL 01 商品销售用房屋 该类指批发和零售企业对外营业的各种批发市场、超级市场、商店、门市部、粮店、书店、供销店等房屋。不包括批发零售企业的厂房和仓库。
    195 NULL 01 百货商场房屋 4710
    196 NULL 02 超级市场房屋 4710
    197 NULL 03 书店房屋 4710
    198 NULL 04 音像商店房屋 4710
    199 NULL 05 便利店房屋 4710
    200 NULL 06 综合商厦房屋 4710
      

  2.   

    1    0    47                    建筑工程服务        
    2    1    47  01                房屋工程建筑        
    3    2    47  01  01            住宅及公共房屋建筑工程服务        
    4    3    47  01  01  01    00    住宅及公共房屋建筑地基与基础工程服务        4710
    5    3    47  01  01  02    00    住宅及公共房屋建筑砖石工程服务        4710
    6    3    47  01  01  03    00    住宅及公共房屋建筑起重设备工程服务        4710
    7    3    47  01  01  04    00    住宅及公共房屋建筑混凝土预制构件工程服务        4710
    8    3    47  01  01  05    00    住宅及公共房屋建筑钢结构工程服务        4710
    9    3    47  01  01  06    00    住宅及公共房屋建筑预应力工程服务        4710
    10   3    47  01  01  07    00    住宅及公共房屋建筑幕墙工程服务        4710
    11   3    47  01  01  08    00    住宅及公共房屋建筑防水工程服务        4710
    12   3    47  01  01  09    00    住宅及公共房屋建筑附着升降脚手架服务        4710
    13   3    47  01  01  10    00    住宅及公共房屋金属门窗工程服务        4710
    14   3    47  01  01  99    00    住宅及公共房屋建筑其他工程服务        4710
    15   2    47  01  02              工矿房屋建筑工程服务        
    16   15   47  01  02  01    00    工矿房屋建筑地基与基础工程服务        4710
    17   15   47  01  02  02    00    工矿房屋建筑砖石工程服务        4710现在主要是填充问题,只要填充了,我就可以用表2转换的代码改一改来转换表1这是表2用来转换的代码
    SELECT GBID AS ID,
           F5_ AS Name,
           CASE
             WHEN f2_ = '''' THEN
              0
             ELSE
              (SELECT TOP 1 GBID
                 FROM (SELECT GBID, f = f1_ + f2_ + f3_ + f4_
                         FROM GB_T4754_2002
                        WHERE f1_ = a.f1_
                          AND f2_ IN (a.f2_, '''')
                          AND f3_ IN (a.f3_, '''')
                          AND f4_ IN (a.f4_, '''')
                          AND GBID <> a.GBID) b
                ORDER BY f DESC)
           END AS ParentID
      FROM dbo.GB_T4754_2002 AS a
      

  3.   

    这就是数据的原始造型,excel导到库里的。
    因为是这种分类结构不适合程序调用,所以主要目的是加两列ID和ParentID来明确他们的父子关系
      

  4.   

    数据量太大了3w多条,做程序来更新得话感觉麻烦,手改要累死,所以想直接sql里搞定。其实这种分类很多,中国的“国家标准”基本都是这种,主要用在书籍印刷上。
      

  5.   

    可以参考一下:declare @a table(col_oo1 varchar(50))
    insert @a select
    '单位一'union all select
    NULL union all select
    NULL union all select
    NULL union all select
    NULL union all select
    '单位二' union all select
    NULL union all select
    NULL union all select
    NULL union all select
    '单位三' union all select
    NULL union all select
    NULL union all select
    NULLDECLARE @N VARCHAR(40)
    SET @N='单位一'UPDATE @a 
    set col_oo1=@n,@n=case when col_oo1 is null then @n else col_oo1 end select * from @a
      

  6.   

    先定好分类规则,如2,2,2,2写一条UPDATE更新一下(单编号)!我一致这样用!
    不过你的分类太多了!
      

  7.   

    搞定了,谢谢兵哥的代码
    DECLARE @N VARCHAR(4000)
    SET @N=''UPDATE 产品分类目录_下 set F1=@n,@n=case when F1 = '' then @n else F1 endUPDATE 产品分类目录_下 set F2=@n,@n=case when F2 = '' then @n else F2 end
    where not(f2='' and f3='' and f4='' and f5='')UPDATE 产品分类目录_下 set F3=@n,@n=case when F3 = '' then @n else F3 end
    where not(f3='' and f4='' and f5='')UPDATE 产品分类目录_下 set F4=@n,@n=case when F4 = '' then @n else F4 end
    where not(f4='' and f5='')转树形:
    SELECT ID,
           CASE
             WHEN f2 = '' THEN
              0
             ELSE
              (SELECT TOP 1 ID
                 FROM (SELECT ID, f = f1 + f2 + f3 + f4 + f5
                         FROM 产品分类目录_下
                        WHERE f1 = a.f1
                          AND f2 IN (a.f2, '')
                          AND f3 IN (a.f3, '')
                          AND f4 IN (a.f4, '')
                          AND f5 IN (a.f5, '')
                          AND ID <> a.ID) b
                ORDER BY f DESC)
           END AS ParentID,Name
      FROM 产品分类目录_下 AS a