统计问题
我有一张表
里面有列: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



