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 ----------偶初学,你试一下吧
http://blog.csdn.net/xluzhong/articles/340928.aspx
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
龟裂轻=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
----------偶初学,你试一下吧