我有一个table表
表中有如下数据
begin
insert into my1 values ('杨家坪','陈3','现金','1000')
insert into my1 values ('杨家坪','陈3','现金','1001')
insert into my1 values ('杨家坪','陈3','刷卡','1002')
insert into my1 values ('杨家坪','陈3','刷卡','1003')
insert into my1 values ('杨家坪','陈3','现金','1004')
insert into my1 values ('杨家坪','唐2','刷卡','1000')
insert into my1 values ('杨家坪','唐2','现金','1055')
insert into my1 values ('杨家坪','唐2','现金','1044')
insert into my1 values ('杨家坪','唐2','现金','1003')
insert into my1 values ('杨家坪','陈1','现金','1003')
insert into my1 values ('杨家坪','陈1','刷卡','1044')
insert into my1 values ('杨家坪','陈1','现金','1033')
insert into my1 values ('大渡口','00','现金','1003')现在我想实现如下面这样的效果  :
 杨家坪 陈3  现金  3005(陈3给现金的和)
 杨家坪 陈3  刷卡   2005(陈3刷卡的和)
 杨家坪 唐2  现金  (唐2现金的和)
 杨家坪 唐2  刷卡   (唐2刷卡的和)
 杨家坪 陈1  现金   (陈1现金的和)
 杨家坪 陈1  刷卡    (陈1刷卡的和)
         本来这个是数据是在几个表中得来的,为了显示方便我就这样做出来,不知道各位大哥有没有办法帮写个函数或者存储过程实现下,谢谢。(杨家坪写成输入参数。)

解决方案 »

  1.   

    select 地点,姓名,支付方式,sum(金额)as 总额
    from(
    你的查询语句
    )t where 地点='杨家坪'
    group by 地点,姓名,支付方式
      

  2.   


    create table my1(col1 varchar(10),col2 varchar(10),col3 varchar(10),col4 int)
    goinsert into my1 values ('杨家坪','陈3','现金','1000')
    insert into my1 values ('杨家坪','陈3','现金','1001')
    insert into my1 values ('杨家坪','陈3','刷卡','1002')
    insert into my1 values ('杨家坪','陈3','刷卡','1003')
    insert into my1 values ('杨家坪','陈3','现金','1004')
    insert into my1 values ('杨家坪','唐2','刷卡','1000')
    insert into my1 values ('杨家坪','唐2','现金','1055')
    insert into my1 values ('杨家坪','唐2','现金','1044')
    insert into my1 values ('杨家坪','唐2','现金','1003')
    insert into my1 values ('杨家坪','陈1','现金','1003')
    insert into my1 values ('杨家坪','陈1','刷卡','1044')
    insert into my1 values ('杨家坪','陈1','现金','1033')
    insert into my1 values ('大渡口','00','现金','1003')select col1,col2,col3,sum(col4) from my1 group by col1,col2,col3drop table my1col1       col2       col3                   
    ---------- ---------- ---------- ----------- 
    大渡口        00         现金         1003
    杨家坪        陈1         刷卡         1044
    杨家坪        陈1         现金         2036
    杨家坪        陈3         刷卡         2005
    杨家坪        陈3         现金         3005
    杨家坪        唐2         刷卡         1000
    杨家坪        唐2         现金         3102(所影响的行数为 7 行)
      

  3.   

    create table my1(addr varchar(10),name varchar(10), varchar(10),mon int)insert into my1 values ('杨家坪','陈3','现金','1000')
    insert into my1 values ('杨家坪','陈3','现金','1001')
    insert into my1 values ('杨家坪','陈3','刷卡','1002')
    insert into my1 values ('杨家坪','陈3','刷卡','1003')
    insert into my1 values ('杨家坪','陈3','现金','1004')
    insert into my1 values ('杨家坪','唐2','刷卡','1000')
    insert into my1 values ('杨家坪','唐2','现金','1055')
    insert into my1 values ('杨家坪','唐2','现金','1044')
    insert into my1 values ('杨家坪','唐2','现金','1003')
    insert into my1 values ('杨家坪','陈1','现金','1003')
    insert into my1 values ('杨家坪','陈1','刷卡','1044')
    insert into my1 values ('杨家坪','陈1','现金','1033')
    insert into my1 values ('大渡口','00','现金','1003')select addr,name,,mon=SUM(mon)
    from my1 group by addr,name,/*
    addr       name              mon
    ---------- ---------- ---------- -----------
    大渡口        00         现金         1003
    杨家坪        陈1         刷卡         1044
    杨家坪        陈1         现金         2036
    杨家坪        陈3         刷卡         2005
    杨家坪        陈3         现金         3005
    杨家坪        唐2         刷卡         1000
    杨家坪        唐2         现金         3102(7 行受影响)