実現したいこと
OracleDBにてパッケージを利用しているのですが、パッケージへの引数の渡し方ないし結合方法を教えていただきたい
発生している問題・分からないこと
以下のFROM句があるのですが、パッケージに渡す引数をTABLE (USER_PKG.GET_USERINFO(ORDER_DETAIL.DEMAND_USER_CD, DEMAND_DETAIL.GEN_DEMAND_DATE))としたいです。
結合が入れ子になるとわからなくなってしまい、どのように実現すればよいかご助力いただけないでしょうか。
該当のソースコード
SQL
1FROM 2 ORDER_HD T1 3 INNER JOIN ORDER_DETAIL T2 4 ON T1.ORDER_TYPE = T2.ORDER_TYPE 5 AND T1.ORDER_YEAR = T2.ORDER_YEAR 6 AND T1.ORDER_NO = T2.ORDER_NO 7 LEFT JOIN ( 8 SELECT 9 * 10 FROM 11 TABLE (USER_PKG.GET_USERINFO(NULL, NULL)) 12 ) T3 13 ON T2.DEMAND_USER_CD = T3.USER_CD
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
SQL
1FROM 2 ORDER_HD T1 3 INNER JOIN ORDER_DETAIL T2 4 ON T1.ORDER_TYPE = T2.ORDER_TYPE 5 AND T1.ORDER_YEAR = T2.ORDER_YEAR 6 AND T1.ORDER_NO = T2.ORDER_NO 7 LEFT JOIN ( 8 SELECT 9 * 10 FROM 11 TABLE (USER_PKG.GET_USERINFO(D.DEMAND_USER_CD, DD.GEN_DEMAND_DATE)) 12 FROM 13 ORDER_DETAIL D 14 JOIN DEMAND_DETAIL DD 15 ON D.GEN_DEMAND_ORDER_NO = DD.GEN_DEMAND_ORDER_NO 16 ) T3 17 ON T2.DEMAND_USER_CD = T3.USER_CD
SQL
1FROM 2 ORDER_HD T1 3 INNER JOIN ORDER_DETAIL T2 4 ON T1.ORDER_TYPE = T2.ORDER_TYPE 5 AND T1.ORDER_YEAR = T2.ORDER_YEAR 6 AND T1.ORDER_NO = T2.ORDER_NO 7 LEFT JOIN ( 8 SELECT 9 * 10 FROM 11 TABLE (USER_PKG.GET_USERINFO(D.DEMAND_USER_CD, DD.GEN_DEMAND_DATE)) T3 12 FROM 13 ORDER_DETAIL D 14 JOIN DEMAND_DETAIL DD 15 ON D.GEN_DEMAND_ORDER_NO = DD.GEN_DEMAND_ORDER_NO 16 ) T3 17 ON T2.DEMAND_USER_CD = T3.USER_CD
上記のようなコードを試したのですが、カッコが足りない構文エラー(箇所がわからない)や引数がうまく渡せていないようでした。
よろしくお願いします。
補足
特になし