--1 create table
create table trans
(
type varchar(20),
Tgl datetime ,
Value numeric
)
--2 insert table
insert into trans values ('xxxx','2010-1-23','200')
insert into trans values('xxxx','2010-1-24','400')
insert into trans values('xxxx','2010-1-25','300')
insert into trans values('xxxx','2010-1-26','500')
insert into trans values ('yyyy','2010-1-23','100')
insert into trans values('yyyy','2010-1-24','400')
insert into trans values('yyyy','2010-1-25','200')
insert into trans values('yyyy','2010-1-26','400')
insert into trans values('zzzz','2010-1-24','300')
insert into trans values('zzzz','2010-1-27','800')
insert into trans values('zzzz','2010-1-28','600')
insert into trans values('xxxx','2010-2-23','200')
insert into trans values('xxxx','2010-2-24','0')
insert into trans values('xxxx','2010-2-25','0')
insert into trans values('xxxx','2010-2-26','500')
insert into trans values('yyyy','2010-2-23','100')
insert into trans values('yyyy','2010-2-24','400')
insert into trans values('yyyy','2010-2-25','0')
insert into trans values ('yyyy','2010-2-26','400')
insert into trans values('zzzz','2010-2-24','300')
insert into trans values ('zzzz','2010-2-27','0')
insert into trans values('zzzz','2010-2-28','600')
insert into trans values('xxxx','2010-3-23','200')
insert into trans values ('xxxx','2010-3-24','440')
insert into trans values('xxxx','2010-3-25','550')
insert into trans values('xxxx','2010-3-26','500')
insert into trans values('yyyy','2010-3-23','100')
insert into trans values('yyyy','2010-3-24','400')
insert into trans values('yyyy','2010-3-25','60')
insert into trans values('yyyy','2010-3-26','400')
insert into trans values('zzzz','2010-3-24','300')
insert into trans values('zzzz','2010-3-27','770')
insert into trans values('zzzz','2010-3-28','600')
--3 my query for master report
select Type,( select sum(Value) from trans b where b.Type=a.Type and month(tgl)=1)as 'January',
(select sum(Value) from trans b where b.Type=a.Type and month(tgl)=2)as 'February',
(select sum(Value) from trans b where b.Type=a.Type and month(tgl)=3)as 'March'
from trans a
where year(Tgl)='2010'
group by Type