首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

大家帮忙优化一下这个查询语句。解决方法

2012-01-07 
大家帮忙优化一下这个查询语句。。selectisnull(sum(sl),0)assl,isnull(sum(dkje),0)asdkje,isnull(sum(gcts

大家帮忙优化一下这个查询语句。。
select     isnull(sum(sl),0)     as   sl,isnull(sum(dkje),0)   as   dkje,isnull(sum(gcts),0)   as   gcts,hzjxsdm     from          
          (select   isnull(count(hth),0)   as   sl,isnull(sum(-dkje),0)   as   dkje,isnull(sum(-gcts),0)   as   gcts,hzjxsdm   from   ht   where   yxbz= '0 '   and     convert(char(6),isnull(hzqxrq, ' '),112)= '200708 '   group   by   hzjxsdm        
      union   all        
          select   isnull(count(hth),0)   as   sl,isnull(sum(bgdkje),0)   as   dkje,isnull(sum(bgts),0)   as   gcts,jxsdm   as   hzjxsdm   from   htbgb   where     convert(char(6),isnull(bgsj, ' '),112)= '200708 '   group   by   jxsdm)   a          
        group   by   hzjxsdm  

怎么样优化这个查询。。把   union   all去掉!!只要一个查询语句

[解决办法]
好乱
你不如把表结构写出来
然后说你要的效果.
[解决办法]
两个查询组合成一个子查询,然后分组统计,没什么不好啊.

再说了,union all并不影响你的速度.
[解决办法]
你把这段sql放到查询分析器里看看执行时间是多少,并且建议把第一行的isnull去掉,因为没有起作用,sql server处理null数据最耗费时间。

热点排行