需求如下。
有一个团组表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,求赐教。
------解决方案--------------------
- SQL code
create table groups(member varchar(10),type varchar(10), cost int)insert into groups select '甲','A',2000union all select '乙','B',1000union all select '丙','B',2000union 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 行受影响)*/