sql server 2000
==,我找个例子

解决方案 »

  1.   

    --是这个意思?
    http://blog.csdn.net/xluzhong/articles/340928.aspx
      

  2.   

    idbh zh_k  zh_m lufu lane bh_kind level width length area road_name se_date
    206  1    2     左   行  龟裂     轻     2  2     4    南京路     2005-3-6
    234  1    1     左    行  不规则裂缝 轻   3     4    12    南京路    2004-1-1
    235  1    3     左   行  龟裂     轻     4  2     8     南京路    2004-1-1
    236  1    1     左    行  龟裂     中     3  4    12     南京路    2004-1-1
    237  1    2     左   行  龟裂     重     5  5    25     南京路    2004-1-1
    238  1    3     左   行  不规则裂缝 轻  3  3    9      南京路    2004-1-1
    239  1  1     左    行 不规则裂缝 轻   32  2    64     南京路    2004-1-1
    240  1    2     左    行 不规则裂缝 重   2  2    4     南京路    2004-1-1
    241  1 3      左    行  脱皮      -   2  2    4     南京路    2004-1-1
    原记录如上
    改成如下字段:(注意:病害类型是动态和病害种类得动态生成得如下字段)
    zh_m zh_k lufu lane 龟裂(轻) 龟裂(中) 龟裂(重) 不规则裂缝(轻) 不规则裂缝(重) 脱皮
    1    1    左   行    0        12        0         64              0           0
    1    2    左   行    4         0        25         0              4           0     
    1    3    左   行    8         0        0          9              0           4
      

  3.   

    select zh_m,zh_k,lufu,lane,
    龟裂轻=sum(case bh_kind when '龟裂(轻)' then area else 0 end),
    龟裂中=sum(case bh_kind when '龟裂(中)' then area else 0 end),
    龟裂重=sum(case bh_kind when '龟裂(重)' then area else 0 end),
    不规则裂缝轻=sum(case bh_kind when '不规则裂缝(轻)' then area else 0 end),
    不规则裂缝重脱皮=sum(case bh_kind when '不规则裂缝(重) 脱皮' then area else 0 end)
    from tb
    group by zh_m,zh_k,lufu,lane
    ----------偶初学,你试一下吧