Ve vašem dotazu je několik věcí špatně.
Za prvé, na vašem PIVOTu chybí agregační funkce. Potřebujete agregaci kolem propertyvalue
.
Za druhé, musíte obklopit $row1
, atd. s hranatými závorkami, nikoli jednoduchými uvozovkami.
Za třetí, pro as pivot
bych použil jiný alias
V důsledku toho bude kód:
select *
from
(
select name, propertyvalue, displayname
from indexrows
) a
pivot
(
max(propertyvalue)
for [displayname] in ([$row1], [$row2], [$row3])
) piv;