実現したいこと
初めてお世話になります。
最近IT技術を学び始めた者で、有識者の方どうかご教示ください。
例えば2つのテーブル(tbl1、tbl2)が存在する時、2つのテーブルから値を取得する方法についてご教示願いたいです。
実現したいこととしては、下記のようなともにid が主キーであるテーブルが2つ存在する時、idをキーとして、下記の条件に則り、SELECTしたいです。
条件①同一カラム名のものはtbl1の値を優先する。
条件②ただし、同一カラム名でもtbl1側の値がnullもしくは空文字の時、tbl2の値を取得する。
条件③片方にしか存在しないカラムはそのまま取得する。
tbl1
id : ID100
subject : math
score : null
tbl2
id : ID100
subject : English
score : 85
date : 20201231
すなわち、上記2テーブルからのSELECT結果の期待値として、下記の通りとなります。
SELECT_OUTPUT
id : ID100
subject : math
score : 85
date : 20201231
発生している問題・分からないこと
上記を実現するにあたり、Postgreではどのようにクエリを書いていくのがよいでしょうか?
外部結合して、何とか取得するのか?と思いましたが、初学者ということもあり、検討が行き詰まっております。
どうかよろしくお願いいたします。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
PostgreSQL での複数テーブルからの情報取得について理解した。
補足
特になし
![guest](/img/icon/icnUserSample.jpg)