需求如下。
有一个团组表groups.
一个团组下面会有不定数量的人 member
member下面有一个字段 type (A和B 2种状态)
memeber下面有一个字段费用 cost一个团组 groups下有4个member 甲乙丙丁.
甲的状态是 A cost=2000
乙丙丁状态都是 B cost 分别是 1000,2000,3000我需要这样一个统计A状态下Cost | B状态下Cost
    2000         6000就是一条记录下能分别显示出2种状态下的Cost
如果对问题有疑问的,我会再详细表达。
新手学SQL,求赐教。

解决方案 »

  1.   

    create table groups(member varchar(10),type varchar(10), cost int)
    insert into groups select '甲','A',2000
    union all select '乙','B',1000
    union all select '丙','B',2000
    union all select '丁','B',3000SELECT A as A状态下Cost, B as B状态下Cost 
    FROM (select type,cost from groups)a 
    PIVOT (SUM(COST) FOR TYPE IN(A,B))p
    /*
    A状态下Cost    B状态下Cost
    ----------- -----------
    2000        6000(1 行受影响)*/