5-8万年薪顶级嵌入式,京沪深就业地 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

统计问题

楼主wzzww(无知者无畏)(此人已死)2006-11-24 13:18:17 在 MS-SQL Server / 应用实例 提问

我有一张表  
  里面有列:employee(销售人员)   client(客户)   sales(交易金额).....  
  这张表是每一笔交易的记录,现在需要把统计一个销售人员和一个客户所有的交易统计到另一张表(里面也有一样的3个这样的列名)中,应该怎么写这个SQL语言?  
   
  刚接触SQL,请大家帮帮忙,谢谢! 问题点数:20、回复次数:15Top

1 楼roy_88(中国风_燃烧你的激情!!!)回复于 2006-11-24 13:20:57 得分 0

楼主把表的结构贴出来Top

2 楼xiaoku(野蛮人(^v^))回复于 2006-11-24 13:21:59 得分 0

--  
  一个销售人员和一个客户所有的交易统计到另一张表(里面也有一样的3个这样的列名)中  
   
   
  这个叫统计吗?  
   
  --  
  这样?  
  insert   into     *  
  select   employee,client,sales  
  from   *Top

3 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 13:27:48 得分 0

我没描述清除,我是要把第一个表中的employee和client相同的所有项的sales累加起来,放到另一个表中Top

4 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 13:29:55 得分 0

insert   into     *  
  select   employee,client,sales  
  from   *  
  =======================================  
  你这叫复制吧?Top

5 楼zzz1975(大葱炒肉,也就是葱爆肉)回复于 2006-11-24 13:33:20 得分 0

select   employee(销售人员)   client(客户)   sum(sales(交易金额))   as   总数   into   另一个表     from   表  
  where   条件Top

6 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 13:36:25 得分 0

OK,我说得更详细一些,免得有人把我当BC:  
  表1,暂且命名为detail:  
  select   *   from   detail  
   
  employee         client                   sales  
  --------       ---------             --------  
  john                   tom                         10  
  jack                   tim                         40  
  john                   tim                           5  
  john                   tom                         20  
  jack                   tim                         9  
   
  执行我想要的SQL后,希望表2(sums):  
  select   *   from   sums  
   
  employee         client                   sales  
  --------       ---------             --------  
  john                   tom                         30  
  jack                   tim                         49  
  john                   tim                           5  
   
  如果这样描述得还不够清楚,那么我也没办法了Top

7 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 13:48:41 得分 0

唉~~~~~  
  希望能检查一下再发上来,为了方便检查:  
  create   table   detail   (  
  employee   varchar(20),  
  client     varchar(20),  
  sales         int  
  )  
  create   table   sums   (  
  employee   varchar(20),  
  client     varchar(20),  
  sales         int  
  )  
  insert   into   detail   values   ('john',   'tom',   10)  
  insert   into   detail   values   ('jack',   'tim',   20)  
  insert   into   detail   values   ('jack',   'tom',   30)  
  insert   into   detail   values   ('jack',   'tim',   40)  
  insert   into   detail   values   ('john',   'tom',   50)  
   
  足够了吧?Top

8 楼xiaoku(野蛮人(^v^))回复于 2006-11-24 14:02:01 得分 0

insert   into   sums  
  select   employee,client,sum(sales   )  
  from   detail  
  group   by   client,employee  
  order   by   client  
   
   
  employee                           client                                                        
  --------------------   --------------------   -----------    
  jack                                   tim                                     60  
  jack                                   tom                                     30  
  john                                   tom                                     60  
   
  (所影响的行数为   3   行)Top

9 楼xiaoku(野蛮人(^v^))回复于 2006-11-24 14:02:26 得分 0

呵呵...不好意思,误会你的意思了Top

10 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 14:10:52 得分 0

随便问一下,可以这么写一个过程吗?  
  create   PROCEDURE   @tbl   nchar(25)  
  by  
  begin    
  select   *   from   @tbl  
  end  
   
  Top

11 楼xiaoku(野蛮人(^v^))回复于 2006-11-24 14:12:34 得分 0

可以  
   
  不过得把  
  by   改成asTop

12 楼txlicenhe(马可)回复于 2006-11-24 14:13:35 得分 5

楼上的,犯错了吧Top

13 楼xiaoku(野蛮人(^v^))回复于 2006-11-24 14:16:03 得分 15

汗一个...  
   
  呵呵...不过还得改一个:  
  exec('select   *   from'   +@tbl)  
   
  动态语句Top

14 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 14:23:13 得分 0

不好意思,by是笔误Top

15 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-24 14:39:46 得分 0

谢了!Top

相关问题

关键词

得分解答快速导航

  • 帖主:wzzww
  • txlicenhe
  • xiaoku

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
x 提问