Problemas para criar um conjunto de registros de uma consulta SQL Server 2005 com PIVOT
-
19-09-2019 - |
Pergunta
Aqui está o código do meu proc armazenado saída:
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
funciona bem no SQL Server Management Studio, mas eu recebo um fechado ADODB.Recordset quando tento abri-lo no Excel VBA (eu testei o mesmo código com uma baunilha SELECT * FROM x consulta e que era bom).
Todas as idéias?
Solução
No final, não foi o pivô causando o problema, foi apenas falta de SET NOCOUNT ON no procedimento armazenado
Outras dicas
O meu pensamento é que ADO não há como lidar com a declaração pivot corretamente. Se você onde usando DAO eu diria que usar uma consulta de passagem, não é necessário ou uma opção no ADO.
Você é capaz de colocar a sua instrução SQL em um procedimento armazenado e chamar o procedimento armazenado? Desta forma ado só é trabalhar com os dados retornados.