2
T1アンピボットT1から2列のSQL Server
T2結果をマージ
アンピボットクエリ:
SELECT LocM, convert(varchar,[Date],112) as DateKey, FinanceCode, Amount
FROM SalesDetail
UNPIVOT
([Amount] FOR [FinanceCode] IN([Sales],[Wages])) AS P
T3
結果は以下のようになりますので、参加/ T3とT2をマージする方法:
StoreCode | FinanceCode | DateKey | Amount
070 | Wages | 20160131 | 3533
070 | Sales | 20160131 | 833
070 | 0000 | 20160131 | 0
各テーブルの列の量が同じでない場合はどうなりますか?たとえば、t2が4列、t3が5列の場合 –
これは基本的なSQLの問題です。 UNION ALLを異なる#列で使用する場合は、欠落している列に表示したい値の定数を追加します。例えば、ここ:http://stackoverflow.com/questions/2309943/unioning-two-tables-with-different-number-of-columns –