Có một số điều sai với truy vấn của bạn.
Đầu tiên, bạn đang thiếu một chức năng tổng hợp trên PIVOT của mình. Bạn cần tổng hợp về propertyvalue
.
Thứ hai, bạn cần bao quanh $row1
, v.v. có dấu ngoặc vuông không phải dấu ngoặc đơn.
Thứ ba, tôi sẽ sử dụng một bí danh khác cho as pivot
Kết quả là mã sẽ là:
select *
from
(
select name, propertyvalue, displayname
from indexrows
) a
pivot
(
max(propertyvalue)
for [displayname] in ([$row1], [$row2], [$row3])
) piv;