質問に答えてみた
関東甲信地方は、7 月 28 日に梅雨明けしました。今から本格的な夏が始まりますね、と思いましたが来週はそれほど真夏な感じでもありませんね。
しかし、今日は暑い!午前中から子供とポケモン探しに行きましたが、耐え切れず途中で涼むことに。そして、ついでに記事を書くことにwww
最近質問受けたので、その内容について書いてみます。異なるテーブルが複数あり、それらのデータをあるキーをベースにデータをマージしたいというものです。レイアウトはほぼ同一で下記のような感じです。
CREATE TABLE Real_Table1 ( col1 INT NOT NULL, col2 INT NOT NULL, col3 NVARCHAR ( 256 ) );
複数のテーブルには、下記のようにデータが格納されているとします。
テーブル1 (0, 1, '0-設定1') (0, 2, '0-設定2') (0, 3, '0-設定3') (0, 4, '0-設定4') テーブル2 (1, 1, '1-設定1') (1, 2, '1-設定2') (1, 5, '1-設定5') (1, 6, '1-設定6') テーブル3 (2, 1, '2-設定1') (2, 2, '2-設定2') (2, 8, '2-設定5') (2, 9, '2-設定6')
上記のテーブルを下記のようにマージしたいと思います。テーブル1の情報をベースに、テーブル2およびテーブル3のデータを下記のようにマージします。
col1 col2 col3 0 1 2-設定1 0 2 2-設定2 0 3 0-設定3 0 4 0-設定4 1 5 1-設定5 1 6 1-設定6 2 8 2-設定5 2 9 2-設定6
早速試してみましょう。まずはテーブルレイアウトとデータを準備します。
CREATE TABLE Real_Table1 ( col1 INT NOT NULL, col2 INT NOT NULL, col3 NVARCHAR ( 256 ) ); CREATE TABLE Real_Table2 ( col1 INT NOT NULL, col2 INT NOT NULL, col3 NVARCHAR ( 256 ) ); CREATE TABLE Real_Table3 ( col1 INT NOT NULL, col2 INT NOT NULL, col3 NVARCHAR ( 256 ) ); INSERT INTO Real_Table1 ( col1, col2, col3) VALUES (0, 1, '0-設定1'), (0, 2, '0-設定2'), (0, 3, '0-設定3'), (0, 4, '0-設定4') INSERT INTO Real_Table2 ( col1, col2, col3) VALUES (1, 1, '1-設定1'), (1, 2, '1-設定2'), (1, 5, '1-設定5'), (1, 6, '1-設定6'); INSERT INTO Real_Table3 ( col1, col2, col3) VALUES (2, 1, '2-設定1'), (2, 2, '2-設定2'), (2, 8, '2-設定5'), (2, 9, '2-設定6');
それではデータをマージしてみます。下記のクエリを SQL Server Management Studio で実行してみましょう。
SELECT col1, col2, col3 INTO #Temp_Table FROM Real_Table1; MERGE INTO #Temp_Table t1 USING Real_Table2 t2 ON t2.col2 = t1.col2 WHEN MATCHED THEN UPDATE SET t1.col3 = t2.col3 WHEN NOT MATCHED THEN INSERT VALUES (t2.col1, t2.col2, t2.col3 ); MERGE INTO #Temp_Table t1 USING Real_Table3 t2 ON t2.col2 = t1.col2 WHEN MATCHED THEN UPDATE SET t1.col3 = t2.col3 WHEN NOT MATCHED THEN INSERT VALUES (t2.col1, t2.col2, t2.col3 ); SELECT * FROM #Temp_Table
仕様通りマージすることができました。
今もってるヘッドセットが大きく持ち運びが大変なので、小型の Bluetooth のものを新調することに。色々あって悩みました。
【国内正規品】 PLANTRONICS Bluetooth ワイヤレスヘッドセット (モノラルイヤホンタイプ) Explorer 500 グレー EXPLORER500-G
- 出版社/メーカー: Plantronics
- 発売日: 2015/06/25
- メディア: エレクトロニクス
- この商品を含むブログを見る
Jabra BOOST ブラック ワイヤレス Bluetooth イヤホン ヘッドセット (モノラル) 【日本正規代理店品】
- 出版社/メーカー: Jabra
- 発売日: 2015/03/06
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
Jabra STEALTH シルバー ワイヤレス Bluetooth イヤホン ヘッドセット (モノラル 小型 軽量) 【日本正規代理店品】
- 出版社/メーカー: Jabra
- 発売日: 2014/08/22
- メディア: Wireless Phone Accessory
- この商品を含むブログを見る
iBUFFALO Bluetooth4.1対応 デュアルマイクヘッドセット NFC対応 シルバー BSHSBE34SV
- 出版社/メーカー: バッファロー
- 発売日: 2015/12/04
- メディア: エレクトロニクス
- この商品を含むブログを見る
marsboy 24時間通話 Bluetooth4.0 ヘッドセット 超軽量、超小型ボディで通話も、音楽も楽しめる Bluetoothヘッドセット Bluetoothイヤホン ブラック
- 出版社/メーカー: marsboy
- メディア: エレクトロニクス
- この商品を含むブログを見る
PowerBlue Bluetooth 2.1 ヘッドセット 6時間通話 片耳イヤホン 超軽量 無線 マイク内蔵 LH705 ブラック
- 出版社/メーカー: PowerBlue
- メディア: エレクトロニクス
- この商品を含むブログを見る
【国内正規品】 PLANTRONICS Bluetooth ワイヤレスヘッドセット (モノラルイヤホンタイプ) Voyager Edge Black VOYAGEREDGE-B
- 出版社/メーカー: Plantronics
- 発売日: 2014/06/27
- メディア: エレクトロニクス
- この商品を含むブログを見る
ELECOM Bluetooth ヘッドセット ステレオ対応 HPS03 ブラック LBT-HPS03BK/N
- 出版社/メーカー: エレコム
- 発売日: 2016/05/27
- メディア: エレクトロニクス
- この商品を含むブログを見る
ELECOM Bluetooth 携帯用ヘッドセット A2DP対応 HS40 ブラック LBT-HS40MECBK
- 出版社/メーカー: エレコム
- 発売日: 2015/12/10
- メディア: エレクトロニクス
- この商品を含むブログを見る
ここ一か月くらい悩んだ末、PLANTRONICS Bluetooth ワイヤレスヘッドセット (モノラルイヤホンタイプ) Voyager Edge Black に!
【国内正規品】 PLANTRONICS Bluetooth ワイヤレスヘッドセット (モノラルイヤホンタイプ) Voyager Edge Black VOYAGEREDGE-B
- 出版社/メーカー: Plantronics
- 発売日: 2014/06/27
- メディア: エレクトロニクス
- この商品を含むブログを見る
決めては、一番かっこいいから。以上ww
www.youtube.com