0

我的 sqlserver 数据库中有下表:

   FiguresYear FiguresMonth Apple Orange Banana Grape
    2012        Jan          10    12     15     20
    2013        Jan          1     2      3      5

我想运行一个返回以下格式的查询:

FiguresYear FiguresMonth FruitName FruitValue
2012        Jan          Apple     10
2012        Jan          Orange    12
2012        Jan          Banana    15
2012        Jan          Grape     20
2013        Jan          Apple     1
2013        Jan          Orange    2
2013        Jan          Banana    3
2013        Jan          Grape     5

我正在尝试使用 unpivot 功能,但无法使其正常工作。有谁知道如何在有或没有 unpivot 的情况下做到这一点?

4

1 回答 1

0

像这样:

SELECT *
FROM tablename AS t
unpivot
(
  FruitValue
  FOR FruitName IN([Apple], [Orange], [Banana], [Grape])
) AS u;
于 2013-10-01T10:55:55.247 回答