select 姓名=name,年份=year(SalaryMonth)
,一=sum(case month(SalaryMonth) when 1 then Salary else 0 end)
,二=sum(case month(SalaryMonth) when 2 then Salary else 0 end)
,三=sum(case month(SalaryMonth) when 3 then Salary else 0 end)
,四=sum(case month(SalaryMonth) when 4 then Salary else 0 end)
,五=sum(case month(SalaryMonth) when 5 then Salary else 0 end)
,六=sum(case month(SalaryMonth) when 6 then Salary else 0 end)
,七=sum(case month(SalaryMonth) when 7 then Salary else 0 end)
,八=sum(case month(SalaryMonth) when 8 then Salary else 0 end)
,九=sum(case month(SalaryMonth) when 9 then Salary else 0 end)
,十=sum(case month(SalaryMonth) when 10 then Salary else 0 end)
,十一=sum(case month(SalaryMonth) when 11 then Salary else 0 end) --如果只到10月,这条及下条不要
,十二=sum(case month(SalaryMonth) when 12 then Salary else 0 end)
from 工资表
group by name,year(SalaryMonth)
select 姓名=name
,年份=year(salarymonth)
,一=sum(case month(SalaryMonth) when 1 then Salary else 0 end)
,二=sum(case month(SalaryMonth) when 2 then Salary else 0 end)
,三=sum(case month(SalaryMonth) when 3 then Salary else 0 end)
.......
,十=sum(case month(SalaryMonth) when 10 then Salary else 0 end)
from 工资表
group by name,year(salarymonth)
select Name,sum(case when 工资月份 = '2004-01-01' then Salary else 0 end) as '一',
sum(case when 工资月份 = '2004-02-01' then Salary else 0 end) as '二',
sum(case when 工资月份 = '2004-03-01' then Salary else 0 end) as '三',
sum(case when 工资月份 = '2004-04-01' then Salary else 0 end) as '四',
sum(case when 工资月份 = '2004-05-01' then Salary else 0 end) as '五',
sum(case when 工资月份 = '2004-06-01' then Salary else 0 end) as '六',
sum(case when 工资月份 = '2004-07-01' then Salary else 0 end) as '七',
sum(case when 工资月份 = '2004-08-01' then Salary else 0 end) as '八',
sum(case when 工资月份 = '2004-09-01' then Salary else 0 end) as '九',
sum(case when 工资月份 = '2004-10-01' then Salary else 0 end) as '十'
from 工资表
where year(工资月份)='2004'
group by name --sorry,少了一行
select 姓名=name
,一=sum(case month(SalaryMonth) when 1 then Salary else 0 end)
,二=sum(case month(SalaryMonth) when 2 then Salary else 0 end)
,三=sum(case month(SalaryMonth) when 3 then Salary else 0 end)
.......
,十=sum(case month(SalaryMonth) when 10 then Salary else 0 end)
from 工资表
group by name
select Name,
sum(case month(SalaryMonth) when 1 then Salary else 0 end) 一,
sum(case month(SalaryMonth) when 1 then Salary else 0 end) 二,
sum(case month(SalaryMonth) when 1 then Salary else 0 end) 三,
...
from t
group by Name
select Name,(case when 工资月份 = '2004-01-01' then Salary else 0 end) as '一',
(case when 工资月份 = '2004-02-01' then Salary else 0 end) as '二',
(case when 工资月份 = '2004-03-01' then Salary else 0 end) as '三',
(case when 工资月份 = '2004-04-01' then Salary else 0 end) as '四',
(case when 工资月份 = '2004-05-01' then Salary else 0 end) as '五',
(case when 工资月份 = '2004-06-01' then Salary else 0 end) as '六',
(case when 工资月份 = '2004-07-01' then Salary else 0 end) as '七',
(case when 工资月份 = '2004-08-01' then Salary else 0 end) as '八',
(case when 工资月份 = '2004-09-01' then Salary else 0 end) as '九',
(case when 工资月份 = '2004-10-01' then Salary else 0 end) as '十'
from 工资表
where year(工资月份)='2004'