2

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

例如:表 1

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 数据库。抱歉遗漏了详细信息

4

1 回答 1

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
;

但是,日期相等性测试可能无法通过。就像其他人说的那样,您可能必须查找日期功能并找到适合您需求的功能。

于 2012-04-11T03:36:31.027 回答