首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 修改sql语句 [已结贴,结贴人:huangfu_km]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:28:13 楼主
    SQL code
    declare @县代码 as char(6) set @县代码='530181' select 乡镇 =case when grouping(乡镇)=1 then ' ' else rtrim(乡镇) end , 村委会=case when grouping(村委会)=1 then ' ' else rtrim(村委会) end , 村小组=case when grouping(村小组)=1 then ' ' else rtrim(村小组) end , 合计=sum(case when 使用类型 in('自留山','责任山')then 面积 else 0 end), 自留山=sum(case when 使用类型='自留山' then 面积 else 0 end), 责任山=sum(case when 使用类型='责任山' then 面积 else 0 end) from(select 乡镇 =(select name from code_DFT2007 where GBTCode=@县代码 and DFTCode=substring(宗地编号,7,2) +'0000'), 村委会=(select name from code_DFT2007 where GBTCode=@县代码 and DFTCode=substring(宗地编号,7,4)+'00'), 村小组=(select name from code_DFT2007 where GBTCode=@县代码 and DFTCode=substring(宗地编号,7,6)), 使用类型,面积 from 宗地申请表 where left(宗地编号,6)=@县代码 )as tmp group by 乡镇,村委会,村小组 with cube having not((grouping(乡镇)=1 and grouping(村委会)=0) or (grouping(村委会)=1 and grouping(村小组)=0)) order by 乡镇,村委会,村小组


    结果:
    ----------------------------------------------------------------------

    乡        村委会          村小组        合计      自留山      责任山 
    --------------------    ----------    -------  ---------  ----------
                                            4        2        2
    草铺镇                                  4        2        2
    草铺镇    柳树村委员会                    2        1        1
    草铺镇    柳树村委员会    石桥村小组      2        1        1
    草铺镇    小坝村委员会                    2        1        1
    草铺镇    小坝村委员会    板桥村小组      2        1        1


    ---------------------------------------

    我要要的效果是:

    乡        村委会          村小组        合计      自留山      责任山 
    --------------------    ----------    -------  ---------  ----------
                                            4        2        2
    草铺镇                                  4        2        2
              柳树村委员会                    2        1        1
                            石桥村小组      2        1        1
              小坝村委员会                    2        1        1
                            板桥村小组      2        1        1

    应怎样修改上面的SQL?
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:44:401楼 得分:25
    简单的办法还是在程序界面上控制吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojuju10
    • 等级:
    发表于:2008-05-19 17:47:232楼 得分:25
    SQL code
    create table #(c1 varchar(10),c2 varchar(10)) insert into # select 'aa','' insert into # select 'aa','bb' insert into # select 'aa','bb' insert into # select 'aa','bb' select id=identity(int,1,1),* into #1 from # select * from #1 select id, case when id=(select min(id) from #1 where a.c1=c1) then c1 else '' end as c1, case when id=(select min(id) from #1 where a.c2=c2) then c2 else '' end as c2 from #1 a id c1 c2 ----------- ---------- ---------- 1 aa 2 bb 3 4 (4 行受影响)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xp1056
    • 等级:
    发表于:2008-05-19 18:53:463楼 得分:0
    关注
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved