J'essaie de transposer une table simple de lignes en colonnes avec deux variables de chaîne. Je suis allé à travers plusieurs exemples du web sans succès. Le nombre de lignes variera donc j'ai besoin de transposer la table dynamiquement. Le code suivant au moins ne génère pas d'erreur mais ne génère pas le résultat!ms pivot SQL ne fonctionne pas
Le tableau exemple
create table #Encabezado
(
NodeName nvarchar(100),
NodeValue nvarchar(100)
)
INSERT INTO #Encabezado (NodeName, NodeValue) VALUES
('RUTEmisor','88888888-8'),
('RznSoc','EMPRESA DE PRUEBA'),
('GiroEmis','Informatica'),
('Acteco','1'),
('CdgSIISucur','59529595'),
('DirOrigen','Teatinos 120'),
('CmnaOrigen','Santiago'),
('CiudadOrigen','Santiago')
GO
Le code UNPIVOT
DECLARE @colsUnpivot AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @colsUnpivot
= stuff((select ','+quotename(C.column_name)
from information_schema.columns as C
where C.table_name = '#Encabezado' and
C.column_name like '%Name'
for xml path('')), 1, 1, '')
set @query
= 'select NodeName,
Nodevalue
from #Encabezado
unpivot
(
NodeName
for NodeName in ('+ @colsunpivot +')
) u'
exec sp_executesql @query;
Toute aide serait appréciée
Pivot ou UNPIVOT? "Rows to columns" indique Pivot, mais vous avez UnPivot dans votre code. –