SQLで苦悩している点があるのでお知恵をお貸しください。
添付の図のように3つのテーブルを結合し、最右にある表のように抽出したいのですがSQLのアイデアが思い浮かびません。
(テーブル1のみをベースとしテーブル2とテーブル3をそれぞれ結合するイメージです)
例えば
SQL
1SELECT 2 テーブル1.CATE_NO 3 ,テーブル1.CODE 4 ,テーブル3.SUB_CODE 5 ,NVL2(テーブル3.POINT, テーブル3.POINT, 0) AS POINT 6FROM テーブル1 7LEFT JOIN テーブル3 ON テーブル3.CATE_NO = テーブル1.CATE_NO AND テーブル3.CODE = テーブル1.CODE 8LEFT JOIN テーブル2 ON テーブル2.CATE_NO = テーブル1.CATE_NO AND テーブル2.CODE = テーブル1.CODE 9ORDER BY テーブル1.CATE_NO ASC, テーブル1.CODE ASC;
当然ですがこのように組んでしまうと下の表のようになってしまいます。
なお大量データですのである程度はレスポンス速度も加味したいと思っております。
良い書き方があればご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー