J'ai le code suivant dans une requête T-SQL, j'obtiens le message d'erreur suivant et je ne suis pas vraiment sûr de ce qui cause l'erreur. J'écris la déclaration de Pivot pour être dynamique b/c Je ne connais pas les colonnes qui seront retournées. Message d'erreur: Msg 8156, niveau 16, état 1, ligne 9 T-SQL - Erreur de tableau croisé dynamique
La température Tableau #FeeTotals a 3 colonnes 1) dwordrkey (clé d'identification unique), 2) Desc_Cd: description de la charge, 3) Total: une colonne d'argent
DECLARE @PivotColumnHeaders VARCHAR(MAX)
SELECT @PivotColumnHeaders =
COALESCE(
@PivotColumnHeaders + ',[' + cast(Desc_Cd as varchar) + ']',
'[' + cast(Desc_cd as varchar)+ ']'
)
From #FeeTotals
DECLARE @PivotTableSQL NVARCHAR(MAX)
SET @PivotTableSQL = N'
Select *
From #FeeTotals
PIVOT
(
Sum(Total)
For Desc_Cd In (' + @PivotColumnHeaders + ')
)
As PivotTable'
Execute(@PivotTableSQL)
Pour le débogage, pouvez-vous remplacer l'EXECUTE avec PRINT. Ensuite, vous pouvez consulter la déclaration réelle qui échoue. – bobs