Трябва ли да използвате PIVOT
?, защото прост начин за това би бил да използвате CASE
изрази:
SELECT id, MIN(CASE WHEN displayName ='User SID' THEN stringValue END) [User SID], MIN(CASE WHEN displayName ='User Name' THEN stringValue END) [User Name], MIN(CASE WHEN displayName ='Последно влизане' THEN dateValue END) [Последно влизане]FROM YourTableGROUP BY id
Ето резултата:
<предварителен код>╔════════════════════════════════════════╦ ══════╦═══════════╦════════════╗║ ID ║ ПОТРЕБИТЕЛСКО ИМЕ ║ ПОТРЕБИТЕЛСКО ИМЕ ␕═║ ПОСЛЕДНО ВЛИЗАНЕ ═════════════════════════════════╬══════════╬═════ ══════╬════════════╣║ EBD6F18D-3CD3-4134-8FFB-7620D3EA93DF ║ SID2 ║ Потребител 2 ║ 2012-01-10 ║║ 59FAA56C-4C0C-456E-BA68 -Ac63250d6281 ║ SID-122 ║ Моят потребител ║ 2012-01-01 ║╚═════════════════════════════════ ═════╩══════════╩═══════════╩═════════════И тук е sqlfiddle с демонстрация, която да опитате.