2

キーと値のペアを含む、いくつかの列で構成されるテーブルがあります。想像してみてください:

BookID, Key, Value
MyBook, Price, 19.99
MyBook, ISBN, 987878495793
MyBook, Pages, 354
MyBook2, ...., ....
MyBook2, ...., ....

これを次の形式にする必要があります。

BookID, Price, ISBN, Pages
MyBook, 19.99, 987878495793, 354
MyBook2,.....,.............,....

つまり、セルを転置します。これを SQL で行うにはどうすればよいでしょうか。

4

1 に答える 1

6

このようなもの?

SELECT
  BookID, Price, ISBN, Pages
FROM
(
  SELECT BookID, Key, Value FROM yourTable
)
  AS SourceTable
PIVOT
(
  SUM(Value) FOR Key IN (Price, ISBN, Pages)
)
  AS PivotTable
ORDER BY
  BookID

http://technet.microsoft.com/en-us/library/ms177410(SQL.105).aspx

于 2012-06-27T11:40:32.760 に答える