用于转换此数据维度的SQL查询

时间:2010-02-10 00:48:33

标签: sql reporting

是否有任何简单的SQL查询将此转换为数据

  

日期 - 项目 - 费用
  10/31/2009 - a - 1
  10/31/2009 - b - 2
  10/31/2009 - c - 3
  10/31/2009 - d - 4

     

2009年11月30日 - a - 5
  11/30/2009 - b - 6
  11/30/2009 - c - 7
  11/30/2009 - d - 8

在没有任何应用程序逻辑/存储过程/报告工具的情况下进入以下报告格式?

  

项目 - 10/31/2009 - 11/30/2009
  a - 1 - 5
  b - 2 - 6
  c - 3 - 7
  d - 4 - 8

抱歉,无法想出一个更好的头衔..

1 个答案:

答案 0 :(得分:0)

SELECT
  item,
  MAX(CASE WHEN dt = CAST('2009-10-31' AS DATE) THEN cost END) AS oct2009_cost,
  MAX(CASE WHEN dt = CAST('2009-11-30' AS DATE) THEN cost END) AS nov2009_cost,
  MAX(CASE WHEN dt = CAST('2009-12-31' AS DATE) THEN cost END) AS dec2009_cost
FROM items
GROUP BY
  item;