这是我的查询。我一直得到同样的错误
列前缀“A”与查询中使用的表名或别名不匹配。
虽然查询似乎对我来说
<table class="table table-striped">
<tr>
<th>Available Models</th>
</tr>
<script>
<% var index = 0; %>
</script>
<% if(modelId) { %>
<script>
for(i =0; i <= document.getElementById("mnumake").options.length;i++) {
var optionValue = document.getElementById("mnumake").options[i].value;
if (<% modelId.equals(%> optionValue <% ) %> ) {
index = i;
document.getElementById("mnumake").options[i].selected = true;
break
}
}
</script>
<% } %>
<% makes[index].models.forEach(function(model){ %>
<tr><td><%= model.name %></td></tr>
<% }) %>
</table>
有什么建议吗?
答案 0 :(得分:1)
子轴位于子查询上,称为source_table
,所以问题出在这一行:
PIVOT (max(A.[financial_structure_value]) for A.period in (['+@date2+'] , ['+@date1+']) ) AS PivotTable;
你可以使用:
PIVOT (max([financial_structure_value]) for period in (['+@date2+'] , ['+@date1+']) ) AS PivotTable;
注意:当动态SQL出现错误时,如果在变量替换后打印出SQL,您将能够在95%的时间内轻松发现错误。