[解決済み] DB2でテーブルをPivotする方法は?[重複]する
2022-02-16 06:11:37
質問
以下のテーブルAには、それぞれのユニークIDに対して、何らかの値を持つ3つのコードがあります。
ID Code Value
---------------------
11 1 x
11 2 y
11 3 z
12 1 p
12 2 q
12 3 r
13 1 l
13 2 m
13 3 n
2つ目のテーブルBは、以下のようなフォーマットで用意されています。
Id Code1_Val Code2_Val Code3_Val
ここでは、ユニークなIDごとに1つの行があるだけです。最初のテーブルAから2番目のテーブルBに、最初のテーブルの各IDを入力したいのです。
上記の第一テーブルAに対して、第二テーブルBは次のように出てくるはずです。
Id Code1_Val Code2_Val Code3_Val
---------------------------------------------
11 x y z
12 p q r
13 l m n
これを1つのSQLクエリで実現するにはどうしたらよいでしょうか?
どのように解決するのですか?
もし、あなたのバージョンに
DECODE()
を使用することもできます。
INSERT INTO B (id, code1_val, code2_val, code3_val)
WITH Ids (id) as (SELECT DISTINCT id
FROM A) -- Only to construct list of ids
SELECT Ids.id, a1.value, a2.value, a3.value
FROM Ids -- or substitute the actual id table
JOIN A a1
ON a1.id = ids.id
AND a1.code = 1
JOIN A a2
ON a2.id = ids.id
AND a2.code = 2
JOIN A a3
ON a3.id = ids.id
AND a3.code = 3
(私のV6R1 DB2インスタンスで動作し、かつ SQLフィドル例 ).
関連
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「パラメータ@objnameがあいまいか、主張する@objtype(COLUMN)が間違っています」を解決するにはどうすればよいですか?[重複している]。
-
[解決済み】2つの列を分割する方法は?
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み] 3を挿入すると「ORA-01438: この列で許容される指定精度より大きい値」と表示される。
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] mongoの外部キー?
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] Presto の JSON_EXTRACT で ' ' 文字を含むキーに問題がある。
-
[解決済み] マルチパート識別子をバインドできなかった