这是我存储过程中的输出代码:
SELECT *
FROM
(
select q.ccypair, q.vega, t.label
from #parallel q
LEFT JOIN TPRR_vega_weights t ON q.Tenor = t.Tenor
) a
PIVOT
(
Sum(Vega)
for a.label in ([t1],[t2],[t3],[t4],[t5],[t6],[t7],[t8],[t9],[t10],[t11],[t12],[t13],[t14],[t15],[t16],[t17],[t18])
)p
order by ccypair
在SQL Server Management Studio中正常工作,但是当我尝试在Excel VBA中打开它时,我得到一个关闭 ADODB.Recordset(我使用vanilla select *从x查询测试了相同的代码很好)。
有什么想法吗?
答案 0 :(得分:1)
最后,它不是导致问题的枢轴,它只是在存储过程中没有设置NOCOUNT ON
答案 1 :(得分:0)
我的想法是ADO并不知道如何正确处理pivot语句。如果您在使用DAO的地方,我会说使用直通查询,不需要或ADO中的选项。
您是否可以将sql语句放在存储过程中并调用存储过程?这样ado只能处理返回的数据。