実現したいこと
3つのテーブルがあるとします。(実際はもっと沢山あります)左外部結合のSQLを書いて、Javaで処理するためのデータを抽出したいのですが・・・
(第1テーブル)「企業名」
取引コード 企業名
123451 株式会社A
123452 株式会社B
123453 株式会社C
(第2テーブル)「指定取引手法」
取引コード 決済手段
123451 現金決済
123452 カード決済
102321 Edy決済
(第3テーブル)「取引手法」
取引コード 決済手段
123451 現金決済
123452 カード決済
123453 PayPay決済
102321 Edy決済
この3つのテーブルを、外部結合で並べたいのですが、「第1」と「第2」は「取引コード」で繋いで、
(結合例1)
取引コード 企業名 決済手段(第2)
123451 株式会社A 現金決済
123452 株式会社B カード決済
123453 株式会社C null
と出来ます。
ここに第3テーブルを繋いで、「取引コード上5桁」同士が一致するものの中から、最小のものを抽出しろ、と言われているのですが、どのようにSQLを書けば良いかいまいちわからないです。要は、、、
(結合例2)
取引コード 企業名 決済手段(第2) 決済手段(第3)
123451 株式会社A 現金決済 現金決済
123452 株式会社B カード決済 現金決済
123453 株式会社C null 現金決済
という形になれば良いようです。
発生している問題・分からないこと
結合例2を1本のSQLで抜けるものかどうかを知りたいです。
該当のソースコード
SQL
1select 第1.取引コード, 第1.企業名, 第2.決済手段 2from 第1テーブル as 第1 3left outer join 第2テーブル as 第2 on 第1.取引コード = 第2.取引コード
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
「外部結合」「多対1」等で検索しましたが、いまいちピンとくるものは見つかりませんでした。
補足
特になし
回答2件
あなたの回答
tips
プレビュー