我有这个简单的选择,有效:
select CASE_NUM,
OpDate,
LOCATION,
FLOWSHEET_ROW ,
MEAS_VALUE ,
Surgeon,
SD,
ED ,
Ranking
from #output o
但是当我尝试旋转表时它不会
select
CASE_NUM,
OpDate,
LOCATION,
FLOWSHEET_ROW ,
MEAS_VALUE ,
Surgeon,
SD,
ED ,
Ranking
from #output o
pivot
(
max(MEAS_VALUE)
for FLOWSHEET_ROW in ([R PNEUMATIC COMPRESSORS INITIATED],[R AN ANTIBIOTIC ADMINISTERED])
) as Checklist
错误消息:
消息207,级别16,状态1,行5无效的列名称' MEASURE_VAL'。消息207,级别16,状态1,行2无效的列名称' FLOWSHEET_ROW'。
有人有什么建议吗?提前谢谢!
答案 0 :(得分:0)
根据您收到问题的错误消息,您使用的是MEASURE_VAL
。 PIVOT调用中的FLOWSHEET_ROW
列和select
CASE_NUM,
OpDate,
LOCATION,
Surgeon,
SD,
ED ,
Ranking,
[R PNEUMATIC COMPRESSORS INITIATED],[R AN ANTIBIOTIC ADMINISTERED]
from
(
select
CASE_NUM,
OpDate,
LOCATION,
FLOWSHEET_ROW ,
MEAS_VALUE ,
Surgeon,
SD,
ED ,
Ranking
from #output
) o
pivot
(
max(MEAS_VALUE)
for FLOWSHEET_ROW in ([R PNEUMATIC COMPRESSORS INITIATED],[R AN ANTIBIOTIC ADMINISTERED])
) as Checklist;
列,因此它们不再适用于您的最终选择列表。您应该使用子查询或专门命名要在最终列表中选择的列。一个例子是:
MEAS_VALUE
正如您所看到的,FLOWSHEET_ROW
和R PNEUMATIC COMPRESSORS INITIATED
已在最终选择列表中替换为新列R AN ANTIBIOTIC ADMINISTERED
,<a href="@Url.Action("VoteForPost", "PostVote", new { id = Model.PostID })" class=" btn btn-success">Vote</a>
。
答案 1 :(得分:0)
由于pivot FLOWSHEET_ROW将被转移到不同的列,如下所示:
select CASE_NUM,
OpDate,
LOCATION, [R PNEUMATIC COMPRESSORS INITIATED],[R AN ANTIBIOTIC ADMINISTERED]
from
( select
CASE_NUM,
OpDate,
LOCATION,
FLOWSHEET_ROW ,
MEAS_VALUE ,
Surgeon,
SD,
ED ,
Ranking
from #output o
) a
pivot
(
max(MEAS_VALUE)
for FLOWSHEET_ROW in ([R PNEUMATIC COMPRESSORS INITIATED],[R AN ANTIBIOTIC ADMINISTERED])
) as Checklist