sql查询按月返回显示

时间:2012-04-11 03:26:05

标签: sql pivot

我正在尝试生成一个基于月份返回结果的查询。

例如:table1

Name     Amount   createDate
p1        100      01/01/2012
p1         50      02/01/2012
p1        200      03/01/2012
p3        100      04/01/2012

查询应返回:

Name Jan   Feb   Mar   April
p1   100   50    200    0
p2    0     0     0    100 

有关如何操作的任何建议或任何想法。

我正在使用db2 database.Sorry来忽略细节

1 个答案:

答案 0 :(得分:0)

这样的事可能有用......

select
  name, 
  case when month(createDate) = '1' then amount end as Jan,
  case when month(createDate) = '2' then amount end as Feb
  --etc...
from
  table1
group by
  name
;

但是,日期相等测试可能不会通过审核。像其他人说的那样,你可能需要查找日期功能并找到适合你需求的功能。