SQLでJOIN文を設定したい

Avatar
dstn

SQLでJOIN文を設定したい

キーワード:データベース,SQLウィザード,JOIN

概要

複数のテーブルからデータを抽出したい場合は、データ抽出の際にSQLでJOIN文を設定します。
JOIN文は、SQL文をウィザード形式で作成することができるSQLウィザードを使用して記述することができます。

サンプルプロジェクトの説明

データベースの2つのテーブルからデータ抽出を行い、結果をCSVファイルに出力します。
サンプルプロジェクトでは、INNER JOIN文を使用しています。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. Accessアダプタの「検索系SQL実行処理」でSQL文を用いてデータを読み取ります。
  2. CSVファイル書き込み処理」で出力ファイルに書き込みます。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「InnerJoin.csv」を参照してください。
  • LEFT OUTER JOIN文およびRIGHT OUTER JOIN文を使用した場合の出力結果も同梱しています。
    LEFT OUTER JOIN文の出力結果は「LeftOuterJoin.csv」、RIGHT OUTER JOIN文の出力結果は「RightOuterJoin.csv」を参照してください。

ポイントとなる機能

名前 説明 ツールパレット上の場所
検索系SQL実行処理 SQL文を用いてデータを読み取ります。 「データベース」-「Access」-「検索系SQL実行」

処理のポイント

SQLウィザードを使用してJOIN文を記述します。
SQLウィザードの起動は、検索系SQL実行処理のプロパティ設定ダイアログで [SQLウィザードの起動]を押下して行います。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ005のサンプルプロジェクト
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_005.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_005.zip」を展開後に作成される「rl_reference_005プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_005プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_005.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. サンプルデータベースの準備
    共通サンプルDBの「sample.zip」を展開し、「Sample.mdb」をODBCのデータソースに登録します。

  5. グローバルリソースの設定
    コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
    グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「 サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. デザイナのツールパレット「データベース」-「Access」-「検索系SQL実行」から、検索系SQL実行処理をスクリプトキャンバスに配置します。
    • 検索系SQL実行処理の設定は、以下のように行います。

      [必須設定]タブ


    • [SQL文]は、SQLウィザードを使用して設定します。
      検索系SQL実行処理のプロパティ設定ダイアログで[SQLウィザードの起動]を押下し、以下のように設定します。

      [基本情報の設定]

      [結合条件のプロパティ]



      処理のポイント
      • 「結合条件のプロパティ」画面は、テーブルを結合しているマッピングリンクを右クリックし、メニューより[プロパティ]を選択して表示します。
      • INNER JOIN文を記述する場合は一番上のラジオボタンを選択します。
        なお、LEFT OUTER JOIN文を記述する場合は真ん中のラジオボタン、RIGHT OUTER JOIN文を記述する場合は一番下のラジオボタンを選択します。

      [詳細設定]

      [SQLステートメント内容とテスト実行]



      処理のポイント
      • 「結合条件のプロパティ」画面で真ん中(LEFT OUTER JOIN文)および一番下(RIGHT OUTER JOIN文)のラジオボタンを選択した場合の記述内容は以下となります。
        LEFT OUTER JOIN文
        SELECT
          [企業マスタテーブル].会社名,
          [企業別売上テーブル].受注ID,
          [企業別売上テーブル].会社コード,
          [企業別売上テーブル].伝票番号,
          [企業別売上テーブル].受注年,
          [企業別売上テーブル].受注月,
          [企業別売上テーブル].受注日,
          [企業別売上テーブル].受注金額
        FROM (
          [企業マスタテーブル]
          LEFT OUTER JOIN [企業別売上テーブル] ON [企業マスタテーブル].会社コード = [企業別売上テーブル].会社コード )
        RIGHT OUTER JOIN文
        SELECT
          [企業マスタテーブル].会社名,
          [企業別売上テーブル].受注ID,
          [企業別売上テーブル].会社コード,
          [企業別売上テーブル].伝票番号,
          [企業別売上テーブル].受注年,
          [企業別売上テーブル].受注月,
          [企業別売上テーブル].受注日,
          [企業別売上テーブル].受注金額
        FROM (
          [企業マスタテーブル]
          RIGHT OUTER JOIN [企業別売上テーブル] ON [企業マスタテーブル].会社コード = [企業別売上テーブル].会社コード )

  2. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
    • CSVファイル書き込み処理の設定は、以下のように行います。

      [必須設定]タブ

      [書き込み設定]タブ


  3. スクリプトを実行し、正常終了すれば成功です。

コメント

ログインしてコメントを残してください。

Powered by Zendesk