ich eine Tabelle wie folgt aus:Wie in schwenk benutzerdefinierten Namen Spalte zur Verfügung zu stellen
id unit
1 mm
2 cm
3 kg
Wenn ich Pivotisierungsoperation auf diese auszuführen, erhalte ich Ergebnis wie folgt:
1 2 3
mm cm kg
es ist hier möglich benutzerdefinierte Spaltennamen zu bekommen, so etwas wie dieses:
d1 d2 d3
mm cm kg
ich Pivot für diese wie bin mit:
IF OBJECT_ID('tempdb..#t') IS NOT NULL
DROP TABLE #t
GO
CREATE table #t
(id varchar(max),unit varchar(max))
insert into #t (id,unit)values
(1,'kg'),
(2,'cm'),
(3,'mm'),
(4,'m')
DECLARE @statement NVARCHAR(max)
,@columns NVARCHAR(max)
SELECT @columns = ISNULL(@columns + ',', '') + N'[' + cast(tbl.id as varchar(max)) + ']'
FROM (
SELECT DISTINCT id
FROM #t
) AS tbl
SELECT @statement = 'select *
INTO ##temp
from (
SELECT id,[unit]
FROM #t
) as s
PIVOT
(max(unit) FOR id in(' + @columns + ')) as pvt
'
EXEC sp_executesql @statement = @statement
SELECT * FROM ##temp
DROP TABLE #t
DROP TABLE ##temp
Ist es möglich? Danke
Perfekt !!! Vielen Dank!! –
@omkar patade Sie sind herzlich willkommen;) – Devart