ほとんど「複数テーブルを内結合してデータ取得」と同様です。Where条件でLeft Outer Joinを指定します。
まず、データベースにテーブルを定義します。 (方法はクイックスタートのステップ2を参照下さい)
以下のようなテーブル ItemInfo を定義します。 (例「単純な単一テーブルからのデータ読み込み」と同様です。)
以下のデータをデータベース管理ツールであらかじめ挿入しておきます。 (例「複数テーブルを内結合してデータ取得」と同様です。)
以下のようなテーブル OrderInfo を定義します。 (例「複数テーブルを内結合してデータ取得」と同様です。)
以下のデータをデータベース管理ツールであらかじめ挿入しておきます。 (例「複数テーブルを内結合してデータ取得」とは最後の行が違います)
今回、何某かの注文とその商品コードが別のテーブルで管理されている、という状況を想定していますが、OrderInfoテーブルに含まれているItemCode: ghi の情報はItemInfoテーブルに存在しません。
この場合、先の例 「複数テーブルを内結合してデータ取得」 では最後の行が出てこなくて「オーダーが見つからない」状態になってしまいます。というのも、Inner Joinは両方のテーブルに存在する情報を結合するからです。
一方、今回の例では「オーダーは存在するが、該当するアイテムが見つからない」となります。 こちらが自然な動きです。左外部結合をすることで対応するItemInfoがなくてもOrderInfoを取得できるようになります。
このテーブル情報をインポートします。(方法はクイックスタートのステップ3を参照下さい)
次に、関数定義を行います。 (例「複数テーブルを内結合してデータ取得」と同様です。)
追加後、関数一覧に戻り、 「Sync」をクリックして取得対象になるフィールドを指定します。 (例「複数テーブルを内結合してデータ取得」と同様ですので詳細は省略します)
続いて、取り出すデータを指定するための条件を追加します。関数一覧にて「Input Aid」をクリックします。
(例「複数テーブルを内結合してデータ取得」とほとんど同一ですのでいくつかのステップを省略します。)
以下図の最上位行で「Add」をクリックします。
以下の画面が表示されますので、Join種類を Left Outer Join に選択し、「追加」を押します。
関数一覧ページから「View Where」をクリックして定義を確認します。
以下の通り、仕様書のように条件が確認できます。
次に、ビルドします。(方法はクイックスタートのステップ5を参照下さい)
ビルド後、関数一覧ページに戻るとEndpointが作成されていますので「View Endpoint」をクリックします。
以下のようなエンドポイントが表示されます。
テスト用フォームの「Do Test via Server by PHP」ボタンをクリックします。 2つ結果が表示されますが表示フォーマットが違うだけで内容は同じものです。
内容を見てみると、基本的は例「複数テーブルを内結合してデータ取得」と同様にOrderInfoの内容とItemInfoがItemCodeを使って結合されていますが、該当ItemInfoが存在しないItemCode: "ghi" に対してはnullが設定されています。
弊社の開発フレームワークおよびクラウド・データベースです
© 2016-2023 Matsuesoft Corporation