当前位置:首页
开发技术指南» 文章正文
    引言:

 ·如何实现跨域名登陆问题    »显示摘要«
    摘要: 有做过这方面的案例的朋友说说你的实现方式? ......
    摘要: 用vc在操作数据库的时候,提示"不能更新;当前正在被机器 xxx 上的用户 admin 锁定",用try,catch捕捉到了該错误,数据库的某个表就不能进行添加修改和删除的操作了。 请问在不关闭程序的情况下,用什么方法可以恢复对该表的添加修改和删除的操作?? 代码如下: try { db.executesql(ssql); //ssql变量保存的sql语句,执行后出现上......


■■复杂查询问题,高分相送

原始表如下格式:  
  Class           CallDate         CallCount  
  1       2005-8-8         40  
  1       2005-8-7         6  
  2       2005-8-8         77  
  3       2005-8-9         33  
  3       2005-8-8         9  
  3       2005-8-7         21  
   
  根据Class的值,按日期分别统计出CallCount1,CallCount2,CallCount3。  
  当该日期无记录时值为0  
  要求合并成如下格式:  
  CallDate  CallCount1  CallCount2  CallCount3  
  2005-8-9  0         0         33  
  2005-8-8  40      77      9  
  2005-8-7  6         0         21

NO.1   作者: WangZWang

select   CallDate,  
                CallCount1=sum(case   when   class=1   then   Callcount   else   0   end),  
                CallCount2=sum(case   when   class=2   then   Callcount   else   0   end),  
                CallCount3=sum(case   when   class=3   then   Callcount   else   0   end)  
  from   tblname  
  group   by   CallDate  
 

NO.2   作者: aw511

 
  declare   @tab   table(Class   int,CallDate   datetime,CallCount   int)  
  insert   @tab    
  values(1,2005-8-8,40)  
  insert   @tab    
  values(1,2005-8-7,6)  
  insert   @tab    
  values(2,2005-8-8,77)  
  insert   @tab    
  values(3,2005-8-9,33)  
  insert   @tab    
  values(3,2005-8-8,9)  
  insert   @tab    
  values(3,2005-8-7,21)  
  select   *   from   @tab  
   
  select   CallDate,  
          CallCount1=max(case   Class   when   1   then   CallCount   else   0   end),  
          CallCount2=max(case   Class   when   2   then   CallCount   else   0   end),  
          CallCount3=max(case   Class   when   3   then   CallCount   else   0   end)  
  from   @tab  
  group   by   CallDate  
  order   by   CallDate   desc

NO.3   作者: Pandahai

想用一条语句查询比较困难,如果用存储过程就可以!

NO.4   作者: zlp321002

--创建测试环境  
  Create   table     T     (Class   varchar(2),CallDate   datetime,   CallCount   int)  
  insert   into   T   select   1,2005-8-8,40  
  union   all   select   1,2005-8-7,6  
  union   all   select   2,2005-8-8,77  
  union   all   select   3,2005-8-9,33  
  union   all   select   3,2005-8-8,9  
  union   all   select   3,2005-8-7,21  
  --动态SQL  
  declare   @s   varchar(8000)  
  set   @s=select   CallDate    
  select   @s=@s+,[CallCount+Class+]=sum(case   when   Class=+Class+   then   CallCount   else   0   end)  
  from   T    
  group   by   Class  
  set   @s=@s+   from   T   group   by   CallDate   order   by   CallDate   desc    
  exec(@s)  
   
  --结果  
  CallDate                                                                                               CallCount1     CallCount2     CallCount3      
  ------------------------------------------------------   -----------   -----------   -----------    
  2005-08-09   00:00:00.000                                                                 0                       0                       33  
  2005-08-08   00:00:00.000                                                                 40                     77                     9  
  2005-08-07   00:00:00.000                                                                 6                       0                       21  
   
  --删除环境  
  drop   table   T

NO.5   作者: hisi

declare   @sql   varchar(8000)  
  set   @sql   =    
  select   @sql   =   @sql   +   ,sum(case   when   class=   +   cast(class   as   varchar(10))   +     then   callcount   else   0   end   )   as   callcount   +   cast(class   as   varchar(10))   from   [表]   group   by   class   order   by   class  
   
  exec   (   select   calldate   +   @sql   +     from   [表]   group   by   calldate     )

NO.6   作者: libin_ftsafe

declare   @sql   varchar(8000)  
  set   @sql   =    
  select   @sql   =   @sql   +   ,callcount+rtrim(class)+=sum(case   class   when     +   rtrim(class)   +     then   callcount   else   0   end   )     from   [表]   group   by   class   order   by   class  
   
  exec   (   select   calldate   +   @sql   +     from   [表]   group   by   calldate)  
 

NO.7   作者: ilons

select   a.calldate,   b.CallCount   ,   c.CallCount,   d.CallCount   ,   csum    
  from    
  (select   calldate   from   T   group   by   calldate   )   a    
        inner   join   T   b   on   a.calldate   =   b.calldate   and   b.class   =1  
        inner   join   T   c   on   a.calldate   =   c.calldate   and   c.class   =2  
        inner   join   T   d   on   a.calldate   =   d.calldate   and   d.class   =3  
        inner   join   (select   a.calldate   ,   sum(callcount)   as   csum   from   T   group   by   calldate)    
                                  e   on   a.calldate   =   e.calldate  
  这样应该可以的,没测试哦,我这里没环境


 ·高分我实在是无能为力了    »显示摘要«
    摘要: 我想用一个sql语句查出car_jing.ji_name, car_pinpai.pinpai_name, car_pinx.pinx_name, car_shang.sh_name这几个字段的数据 但是不能重复的 我能很多的方法,两个表的时候还是完全操作的但是这么多的表我没有办法了 它们的关系是这样 car_shang.sh_id分别与car_jing.ji_lid相关联 car_sh......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE