SQL文について
下記の3つのテーブルがあります。
・社員マスタ(TBL_SHAIN)
・得意先マスタ(TBL_TOKUI)
・地域マスタ(TBL_AREA)
各テーブルのフィールドは下記の通りです。
・社員マスタ(TBL_SHAIN)
・社員コード(shain_code)
・社員名(shain_name)
・役職タイプ(post_type)
・地域コード(area_code)
・得意先マスタ(TBL_TOKUI)
・得意先コード(tokui_code)
・得意先名(tokui_name)
・地域コード(area_code)
・地域マスタ(TBL_AREA)
・地域コード(area_code)
・地域(area_name)
・分類コード(kind_type)
※社員マスタ(TBL_SHAIN)の地域コード(area_code)は配列型です。
社員マスタの地域コードには下記のような配列データが格納されています。
・「{E01,E02,S01,T01,C03}」
※この値は地域マスタ(TBL_AREA)の地域コード(area_code)です。
試しに
下記のSQLで配列データを下記のような形式に変換。
SELECT chr(39) || array_to_string(area_code, ''',''') || chr(39) FROM TBL_SHAIN;
「'E01','E02','S01','T01','C03'」
上記で出力した値('E01','E02','S01','T01','C03')で得意先マスタを検索できるかと思って下記のSQLを実行。
SELECT * FROM TBL_TOKUI WHERE area_code IN (SELECT chr(39) || array_to_string(area_code, ''',''') || chr(39) FROM TBL_SHAIN);
結果は空でした。
やりたい事は社員マスタ(TBL_SHAIN)の地域コード(area_code)と地域マスタ(TBL_AREA)の地域コード(area_code)を結合し、また得意先マスタ(TBL_TOKUI)の地域コード(area_code)と結合しようと考えています。
みなさんにアドバイスいただきたいのは社員マスタと得意先マスタと地域マスタを結合するにはどのようにしたらいいでしょうか。
また社員マスタの地域コードに該当する得意先を参照するにはどうしたらいいでしょうか。
どうか宜しくお願いします。
お礼
ありがとうございました。 少しひねって考えすぎていたようでUP後に考えたら解決しました。 教えてもらったサイトすごいですね。