Ich habe Daten wie unten Beispiel.T-SQL - Get Zeilen als Spalte (Pivot funktioniert nicht)
VariableName variableValue
row_count 5326
FileName [OrderFeed_20160406.tsv]
TableName OrderFeed
TableID 1
row_count 788
FileName [CategoryFeed_20160406.tsv]
TableName Category
TableID 2
row_count 224
FileName [ItemFeed_20160406.tsv]
TableName Item
TableID 3
row_count 991
FileName [ContactFeed_20160406.tsv]
TableName Contact
TableID 4
ich zeigen möchte, dass Daten wie unten:
row_count | FileName | TableName |TableID
5326 |[OrderFeed_20160406.tsv] |OrderFeed |1
788 |[CategoryFeed_20160406.tsv]|Category |2
Als ich PIVOT verwenden, ist es Arbeit, aber Reihenfolge der Daten ändert. Ich meine, wenn [OrderFeed_20160406.tsv] 5326 Zeilen hat und TableId davon ist 1 in Wirklichkeit, aber nach Pivot [OrderFeed_20160406.tsv] hat 788 Zeilen und erhalten unterschiedliche TableID als.
Mein Muster-Pivot-Code ist unten:
select row_count,
[FileName],
TableID,
TableName from (
select VariableName , VariableValue,row_number() over(partition by VariableName
order by VariableValue) seq
from DailyLogs
) d
PIVOT (count(VariableValue) for variableName in ( row_count,
FileName,
TableID,
TableName))
piv;
Das ist ein seltsames Datenbank-Design. Woher weißt du, welche Zeilen miteinander verbunden sind? – Tobb
Stimmen Sie mit @Tobb überein, Ihre Zielantwort sollte Ihr Tabellendesign sein. –
leider gibt es keine Verbindung zwischen den Zeilen. Es ist Log-Tabelle, und ja, es ist sehr seltsam – arslan