请帮我进行以下查询,因为我必须将行转换为列。
select question,[1],[2],[3],[4] from
(
select
qm.question, cm.choice,
cast (row_number() over (partition by question order by question) as nvarchar(max)) as tbl
from
questionm qm, choicem cm
where
qm.questionID = 1 and cm.questionid = 1) CTE
PIVOT
(
max(cast((choice) as nvarchar(max)))
for tbl in ([1],[2],[3],[4])
) tmp
问题和选择的数据类型为ntext
,执行后脚本抛出错误:
第488条消息,状态16,状态1,第16行
数据透视表分组列必须具有可比性。 “问题”列的类型为“ ntext”,这是不可比较的。