2016-05-24 14 views
0

2つのテーブル選択を1つに結合してピボットテーブルを作成するのに役立つ必要があります。2つのSQL選択を1つのピボットテーブルに結合するのに役立つ必要があります

表Aカラム:州、市、デバイス、Stat_C

:州、市、デバイス、Stat_A、Stat_B

  • デバイス列が複数リスト

表Bの列を有しています

  • デバイスカラムには、エントリとして「すべてのデバイス」しかありません

例入力:

A:

CA, San Fran, A, 1, 2 
CA, San Jose, A, 3, 5 

B:

CA, San Fran, All Devices, 66 
CA, San Jose, All Devices, 77 

結果:

CA, San Fran, A, 1, 2, null 
CA, San Jose, A, 3, 5, null 
CA, San Fran, All Devices, null, null, 66 
CA, San Jose, All Devices, null, null, 77 

ピボットテーブルを作成してDeviceを列名として設定すると、すべてのデバイスの下にstat_aとstat_bのようなサブ列の一部が非表示になる列Aとすべてのデバイスが表示されます。上記の例では、ピボットテーブルの行であるため、都市状態の合計となる2行(状態行を除く)だけが表示されます。

答えて

2

unionでこれを行うことができます。

SELECT State, City, Device, Stat_A, Stat_B, null FROM A UNION 
SELECT State, City, Device, null, null, Stat_C FROM B; 

このクエリを実行しているDBエンジンを知っておくと便利ですが、それはうまくいくはずです。

+0

ODBCを介したOracle SQLサーバーからの選択。 –

+0

重複した回答は、Oracleを使用している場合、UNIONの最初の部分で 'null'の後に' AS Stat_C'を使用し、同様に2番目の部分で 'null'の後に使用する必要があることに注意してください。 –

関連する問題