前提・実現したいこと
BigQueryでテーブルBにありテーブルAにないデータをテーブルAに結合する処理を行いたいです。
その際にカラムA、カラムB、カラムC、カラムDのうち、A, B, Cについて照合し、
テーブルBに存在しなければテーブルAに付け足したいです。
テーブルA
|カラムA|カラムB|カラムC|カラムD| |aaa|1|2|soccer| |bbb|1|3|soccer| |bbb|1|4|soccer| |bbb|2|3|soccer|
テーブルB
|カラムA|カラムB|カラムC|カラムD| |aaa|1|2|soccer| |bbb|1|3|soccer| |aaa|1|5|soccer| ※Aに追加 |bbb|1|4|soccer| ※Aに追加 |bbb|2|3|soccer|
結果
テーブルB |カラムA|カラムB|カラムC|カラムD| |aaa|1|2|soccer| |bbb|1|3|soccer| |bbb|1|4|soccer| |bbb|2|3|soccer| |aaa|1|5|soccer| |bbb|1|4|soccer|
考えたこと
SELECT * FROM `TABLEA ` as a LEFT OUTER JOIN `TABLEB ` as b ON a.カラムA= b.カラムA AND a.カラムB= b.カラムB AND a.カラムC = b.カラムC WHERE a.カラムA is not null OR a.カラムB is not null OR a.カラムC is not null
で絞り、テーブルAに対してUNION ALL するみたいな方法を考えましたが、
より良い方法がある気がしておりまして、上記についてベストプラクティスについてお知恵をお借りしたいです。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー