ExecuteSQL ってなにができるの? SQL とかちょっとよくわからないし


SQL とかちょっとよくわからないし……
ダイナミックパラメータってなに?
ExecuteSQL ってなにができるの?


4
はじめての ExecuteSQL 関数
4
そもそも ExecuteSQL ってなに?
4
じゃあ SQL ってなに?
4
基本的な SQL
5
WHERE 句の条件
5
基本的な演算子の使い方
5
AND 演算子
5
OR 演算子
5
BETWEEN
6
ExecuteSQL の基本
6
エスケープ
6
フィールド区切り、行区切り
7
ExecuteSQL 関数の実態
7
ダイナミックパラメータ
7
複数のダイナミックパラメータ
8
いろいろな SQL
8
すべてのフィールドを抽出
8
集計をする
8
平均値を計算する
9
最大、最小値を調べる
9
レコード数(行数)を調べる
9
重複する行を取り除く
9
並び替え(ソート)を行う
10
いろいろな WHERE
10
あいまい検索
10
空白のフィールドを検索
10
○○ではない
10
複雑な条件
11
ExecuteSQL を使った事例集
11
消費税率を取得する
11
あるパートの時給を取得する
12
昨年同日の売上を取得する
12
特定のレコードの値を別のテーブルに移動する
14
集計を行う
15
SQL 予約語一覧
はじめての
ExecuteSQL 関数
FileMaker Pro の関数の中でも敷居が高いのがこ ExecuteSQL 関数です。引数が多いというのも
ありますが、SQL の知識も必要となってきます。しかし、使いこなすことで様々なメリットを享
受できる革命的な関数といってもいいかもしれません。ここでは、SQL を知らない人のための
ExecuteSQL 関数を使いこなす方法を紹介していきます。
そもそも ExecuteSQL ってなに?
ExecuteSQL 関数は FileMaker12 シリーズから登場
した比較的新しい関数です。FileMaker の技術者の方
でもともと SQL のエンジニアだったり、そうでなく
ても SQL に触れる機会があった方も少なくなく、あっ
という間に重宝されるようになりました。この関数は、
基本的な SQL
SELECT フィールド名 FROM テーブルオカレンス名
WHERE 条件
図 1 SQL クエリの基本
FileMaker データベース内で SQL クエリ(SELECT 文)
上の図 1 は基本的な SQL クエリのフォーマットで
を実行できるわけですが、現在のレコードの情報や、
す。FROM の後にくる分はテーブルオカレンス名(リ
変数もそのクエリに利用できるので、非常に便利です。
レーショングラフ内でのテーブルの名称)であること
また、最大の特徴として、リレーションされていない、
に注意しましょう。また、SELECT や FROM、WHERE
関連テーブルではないテーブルのデータを取得できる
などの後にくるスペースはすべて半角スペースである
というメリットがあります。これにより、スクリプト
ことに注意してください。下の図 2 が実際にテーブ
内で、別のテーブルにあるフラグなどを確認するため
ル名などに置き換えたものになります。
だけにあるリレーションなど、利用シーンが限られる
リレーション定義は必要なくなり、この関数を実行す
るだけで、済むケースもあります。
SELECT company_name FROM company
WHERE kp_id = 1
図 2 SQL クエリの基本 2
じゃあ、SQL ってなに?
図 2 は 実 際 の 条 件 な ど を 設 定 し た も の で す。 内
SQL(エスキューエル)とはデータベースを操作す
容としては、「company」のテーブルオカレンスの
るための言語です。ある条件に合ったレコードを取得
「company_name」というフィールドのデータを返し
したり、レコードを追加したりするのが SQL で、世
ます。また、「kp_id」というフィールドの値が「1」
の中にある多くのデータベースが SQL を使って操作
であるという検索結果を返すというものです。これが
を行います。ExecuteSQL 関数では、レコードの追加
最も基本的な SQL クエリの作り方です。とりあえず
などはできなく、SELECT 文という、レコードを取得
これだけ覚えれば、非関連テーブルの特定のレコード
するための命令文のみ対応しています。ExecuteSQL
の、特定のフィールドの値は取得することができ、例
関数を使いこなすには、この SQL の SELECT 文を知る
えば商品マスターの単価というフィールドから、数字
ことが重要となります。まずはこの SQL の構造から
を取得して、数量と掛けて、価格を計算するというこ
みていきましょう。
とくらいはできるようになります。