SQL Server PIVOT по таблице "ключ-значение"

У меня есть таблица с атрибутами, основанными на пар "ключ-значение". Пример:

CREATE TABLE ObjectAttributes
(
  int objectId, key nvarchar(64), value nvarchar(512)
)

Когда я выбираю из этого, я получаю:

objectId  key      value
----------------------------
1         Key 1    Value 1
1         Key 2    Value 2

Мне было интересно, могу ли я использовать синтаксис PIVOT, чтобы превратить это в:

objectId  Key 1     Key 2
---------------------------
1         Value 1   Value 2

Я знаю, что все мои таблицы будут иметь одинаковые ключи. (К сожалению, я не могу легко изменить структуру таблицы. Это то, что побудило меня попытаться использовать PIVOTS.)

Однако большая проблема здесь в том, что для сводных таблиц необходимо использовать функцию агрегирования. Есть ли способ предотвратить это? Я совершенно не прав, пытаясь это сделать? Или есть лучшее решение?

10
задан Beth 29 December 2010 в 17:16
поделиться