以下のサンプルがあります。私はPIVOTを使用する場合T-SQL - 列として行を取得する(ピボットが機能しない)
row_count | FileName | TableName |TableID
5326 |[OrderFeed_20160406.tsv] |OrderFeed |1
788 |[CategoryFeed_20160406.tsv]|Category |2
、それは動作しますが、データの順序が変更されている。
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
は、私がデータ以下のようなことを示してほしいです。つまり、[OrderFeed_20160406.tsv]に5326行があり、それのTableIdが実際には1ですが、ピボット[OrderFeed_20160406.tsv]の後に788行があり、異なるTableIDを取得した場合、
マイサンプルピボットコードは以下の通りです:
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;
を試してみてください。どの列が互いに接続されているかはどのように分かりますか? – Tobb
@Tobbに同意すると、あなたの目標とする答えはあなたのテーブルデザインでなければなりません。 –
不幸にも、各行の間には接続がありません。それはログテーブルです、はい、それは非常に奇妙です – arslan