PIVOT не работает должным образом

Извините за непонятный вопрос ранее; надеюсь, я смогу снова начать …

У меня есть следующие данные:

entityid name stringvalue ----------- -------------------- -------------------- 1 ShortDescription Coal 1 LongDescription BlackCoal 1 ShortDescription Gold 1 LongDescription WhiteGold 1 ShortDescription Steel 1 LongDescription StainlessSteel 

И этот запрос:

 select * from ( select entityid, name, stringvalue as stringvalue from mytable ) as d pivot ( min([stringvalue]) for [name] in ([ShortDescription],[LongDescription]) ) as p 

Производя этот вывод:

 entityid ShortDescription LongDescription -------- ---------------- --------------- 1 Coal BlackCoal 

Может ли кто-нибудь сказать мне, почему другие строки не производятся, пожалуйста? Я ожидал увидеть:

 entityid ShortDescription LongDescription -------- ---------------- --------------- 1 Coal BlackCoal 1 Gold WhiteGold 1 Steel StainlessSteel 

Ответ оказался таким:

 select * from ( select entityid, [name], stringvalue as stringvalue from mytable ) as d pivot ( min(stringvalue) for [name] in ([ShortDescription],[LongDescription]) ) as p 

🙂

Недостатком было то, что входная таблица должна иметь 1, 1, 2, 2, 3, 3 для строк сущности, соответственно.

M