je suis en train de faire pivoter deux Col. aux lignesle pivotement deux colonnes en utilisant SQL dynamique
NO Code Amount
-- ---- -------
1 61 1714.00
1 23 95.79
1 80 31.00
1 61 45.00
2 61 1714.00
2 23 95.79
3 80 31.00
4 61 45.00
4 61 1714.00
4 23 95.79
4 80 31.00
4 61 45.00
Je veux faire pivoter le code et le montant COLS dynamiquement à comme ci-dessous et ajouter des suffixes aux noms de colonnes
NO Code_01 Amount_01 Code_02 Amount_02 Code_03 Amount_03 Code_04 Amount_04
1 61 1714.00 23 95.79 80 31.00 61 45.00
2 61 1714.00 23 95.79 - - - -
...
j'ai commencé à faire une colonne mais en cours d'exécution dans les erreurs ... Toute aide avec cela?
DECLARE @cols NVARCHAR(MAX)
,@sql NVARCHAR(MAX)
SET @cols = STUFF((
SELECT DISTINCT ',' + QUOTENAME(CODE)
FROM Table1
ORDER BY 1
FOR XML PATH('')
,TYPE
).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
SET @sql = 'SELECT NO, ' + @cols + '
FROM
(
SELECT NO
FROM Table1
) s
PIVOT
(
MAX(Amount) FOR Code IN (' + @cols + ')
) p'
--print(@sql)
EXECUTE(@sql)
SqlZim - avez-vous une application qui formate votre jeu de résultats afin que vous puissiez la publier en ligne? –
@ MarkKram J'utilise https://senseful.github.io/text-table/ – SqlZim