ExecuteSQLと検索

1Reading Time

ExecuteSQL

条件に一致するレコードの件数を返すSQL

ExecuteSQL ( "SELECT COUNT (\"_kp_スタッフID\")
FROM \"スタッフ管理\"
WHERE \"_kf_支店\" = ? AND \"契約形態\" = ? AND \"ステータス\" = ? " 
;""; ""; $支店ID; "社員"; "在籍中" )

注意事項
「FROM \”スタッフ管理\”」のスタッフ管理はテーブル名ではなく、オカレンス名を仕様しなければならない。

「$支店ID」は事前に変数に値を入れることで利用可能

条件に一致する値を取得(SELECT文)

 ExecuteSQL ( "SELECT \"フィールド名\" FROM \"テーブル(オカレンス名)" WHERE \"フィールド名\" = ?" ;"";""; "条件" ) 

条件に一致するデータを指定した数だけ取得

ExecuteSQL ( "SELECT \"色名\"
FROM \"z_Mカラー\"
WHERE \"色名\" = ?
OFFSET 0 ROWS FETCH
FIRST ROWS ONLY"
;"";""; $カラー名 )

OFFSET 句は、結果セットの特定の開始ポイント。初期値は0。
FETCH FIRST [ n [ PERCENT ] ] { ROWS | ROW } {ONLY | WITH TIES } ] n は返される行の数です。n を省略した場合のデフォルト値は 1 です。
PERCENT が後に続く場合を除き、n は 1 以上の符号なし整数です。n の後に PERCENT が続く場合、値は正の小数値または符号なしの整数のいずれかです。
ROWS は ROW と同じです。
WITH TIES は、ORDER BY 句と共に使用する必要があります。
WITH TIES を使用すると、ピア行(ORDER BY 句に基づいて区別されない行)も返されるので、FETCH カウント値で指定された数よりも多くの行を返すことができます。

条件に一致する値を集計(SELECT SUM)

ある一定金額($集計基準金額)以上で、返品フラグ(f_返品)に値が入っていないものを期間で集計するクエリです。


If ( 
  IsEmpty ( Zユーティリティ::g_スタッフ検索 ) ; 1 ;
  PatternCount ( 
   List (
    勤怠入力_Mスタッフ|選択用::_kp_スタッフID ;
    勤怠入力_Mスタッフ|選択用::名前 ) ;
   Zユーティリティ::g_スタッフ検索 ) > 0
)

※ポータルの更新は、ポータル名を指定する必要がある。