SQL-запрос для преобразования этого измерения данных - PullRequest
0 голосов
/ 10 февраля 2010

Есть ли какой-нибудь простой запрос SQL для преобразования этих данных ниже

Дата - Товар - стоимость
31.10.2009 - а - 1
31.10.2009 - б - 2
31.10.2009 - с - 3
31.10.2009 - д - 4

11/30/2009 - a - 5
30.11.2009 - б - 6
30.11.2009 - с - 7
30.11.2009 - д - 8

В приведенный ниже формат отчета без какой-либо прикладной логики / процедуры хранения / средства отчетности?

Позиция - 31.10.2009 - 11/30/2009
а - 1 - 5
б - 2 - 6
с - 3 - 7
д - 4 - 8

Извините, не могу придумать лучшего названия ..

1 Ответ

0 голосов
/ 10 февраля 2010
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;
...