![]() |
Datenbank: MS SQL Server • Version: 2008 • Zugriff über: SSMS
Tabelle transponieren
Hoin,
Eine Tabelle (Table1) ist wie folgt aufgebaut. Die Werte in der Saplte "ID" und "FIELD_NAME" sind unique, d.h. kommen nicht mehrfach vor. ID FIELD_NAME 1732 Field_1 1749 Field_2 1750 Field_3 1768 Field_4 1769 Field_5 1771 Field_6 1778 Field_7 Nun brauche ich eine Abfrage, welche die Tabelle transponiert: Field_1 Field_2 Field_3 Field_4 Field_5 Field_6 Field_7 1732 1749 1750 1768 1769 1771 1778 Wie kann ich das umsetzen? |
AW: Tabelle transponieren
|
AW: Tabelle transponieren
Danke für den Link. Verstehe jedoch nicht ganz, was hier angegeben werden soll, da ja nichts aggregiert werden soll :roll:
Zitat:
|
AW: Tabelle transponieren
Pivot erledigt die Transformation, ich glaub es muss kein Aggregat sein.
Wenn doch, nimm halt eins, das nicht weh tut, also nichts macht in dem Fall. |
AW: Tabelle transponieren
hallo,
ich habs jetzt nicht ausprobiert, aber Zitat:
|
AW: Tabelle transponieren
Das könnte hilfreich sein (Dynamic Pivot Version):
![]() |
AW: Tabelle transponieren
So scheint es zu funktionieren. Jedoch muss man, IMO, bei PIVOT ein Aggregat angeben.
Code:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX) select @cols = STUFF((SELECT distinct ',' + QUOTENAME(FIELD_NAME) from Table1 FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'SELECT ' + @cols + ' from ( select FIELD_NAME, ID from Table1 ) x pivot ( max(ID) for FIELD_NAME in (' + @cols + ') ) p ' execute(@query) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz