2

月に基づいて結果を返すクエリを生成しようとしています。

例: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データベースを使用しています。詳細が欠落していることをお詫びします。

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 に答える