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

 

    摘要: string[] atsql = new string{("1"),("2"),("3"),("4"),("5")}; 正确的写法是: ......
    摘要: 我的delphi三层程序,保存用户id的资料以前是写在客户端注册表中,每次登陆写入,不出任何问题, 后来转移到应用程序服务器中,在应用程序服务器的remote data module,定义一个整型变量, 通过自定义的接口,在客户端登陆时付给这个变量用户id号,以取得相应用户id权限的资料。 可是等程序使用中才发现,原来这个变量被定义成全局变量,不覆盖才怪。 下面是部分代码,请高手出出主意,......


高人请进,如何构造这样的SQL语句

请教一个SQL问题  
   
  现在有两个表:  
  1、Category  
  ┏━━━━━━━━━━━━━━┓  
  ┃CategoryID     │CateName             ┃  
  ┠──────┼───────┨  
  ┃           1             │类别一                 ┃  
  ┠──────┼───────┨  
  ┃           2             │类别二                 ┃  
  ┠──────┼───────┨  
  ┃           3             │类别三                 ┃  
  ┠──────┼───────┨  
  ┃       ......       │......                 ┃  
  ┠──────┼───────┨  
   
  2、销售历史History  
   
  ┏━━━━━━━━━━━━━━━┓  
  ┃SID   │RID   │CategoryID│Amount┃  
  ┠──┼──┼─────┼───┨  
  ┃     1   │1       │1                   │       5     ┃  
  ┠──┼──┼─────┼───┨  
  ┃     1   │1       │2                   │       6     ┃  
  ┠──┼──┼─────┼───┨  
  ┃     1   │1       │3                   │       4     ┃  
  ┠──┼──┼─────┼───┨  
  ┃     1   │2       │2                   │       6     ┃  
  ┠──┼──┼─────┼───┨  
  ┃...   │...   │   ...             │   ...     ┃  
  ┠──┼──┼─────┼───┨  
   
  我想通过上面这两个表生成这样一张表  
   
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓  
  ┃SID   │RID   │Category1Amount   │Category2Amount   │Category3Amount   ┃  
  ┠──┼──┼────────┼────────┼────────┨  
  ┃     1   │1       │             5                   │               6                 │               4                 ┃  
  ┠──┼──┼────────┼────────┼────────┨  
  ┃     1   │2       │             0                   │               6                 │               0                 ┃  
  ┠──┼──┼────────┼────────┼────────┨  
  ┃...   │...   │   ...                         │   ...                         │                                 ┃  
  ┠──┼──┼────────┼────────┼────────┨  
   
  请问我该怎么构造SQL语句呢,这个问题我遇到好几次了,怎样的方法才合理呢?小  
   
  弟先谢了!!  
 

NO.1   作者: yoki

declare   @sql   varchar(8000)  
  set   @sql   =   select   SID,RID  
  select   @sql   =   @sql   +   ,sum(case   CategoryID   when   +CategoryID+   then   Amount   else   0   end)   as   Category+cast(CategoryID   as   varchar(50))+Amount  
      from   (select     CategoryID   from   Category)   as   a  
  select   @sql   =   @sql+   from   History   group   by   CategoryID,SID,RID  
   
  exec(@sql)

NO.2   作者: newdongkui

declare   @sql   varchar(8000)  
  set   @sql   =   select   SID,RID,  
  SELECT   @SQL   =   @SQL   +   SUM(   CASE   CategoryID   WHEN   +CASE(CATEGORYID   AS   NVARCHAR(50)   )   +   THEN   Amount   else   0   end)   as+CateName+-Amount,  
          from   category    
   
  select   @sql   =   left(@sql,len(@sql)-1)   +  
          from   销售历史History   group   by   SID,RID  
   
  exec   (@sql)


 ·局域网控制    »显示摘要«
    摘要: 我喜欢上一个女同事,当然是同个部门的,她的机器跟我是同个网段,我可以看见她的c:d:e:盘,我想发一些文件给她,且马上能看得见,比如是flash的动画(当然不是她自己打开啦!(注:我能发文件给她,也可以改她所有盘里的文件))哪位高手教教我呀!我追到她请你们听喜糖,嘻嘻! 快呀! 想念一个人,思念一个人有多痛苦吗?快呀! 用黑客软件也可以,不过不能破坏局域网哦! 谢谢! ......
» 本期热门文章:

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