QUERY SELECTION BY ATTRIBUTE
QUERY SELECTION BY ATTRIBUTE ( {aTable}{;}{conjOp ;} objectField ; attributePath ; queryOp ; value {; *} )
引数 | 型 | 説明 | |
---|---|---|---|
aTable | Table | → | セレクションまたはレコードを返すテーブル 省略時:デフォルトテーブル |
conjOp | * | → | 複数のクエリ(あれば)を連結する際に使用する結合演算子 |
objectField | Field | → | 属性をクエリするオブジェクトフィールド |
attributePath | Text | → | 属性の名前またはパス |
queryOp | *, Text | → | クエリ演算子(比較演算子) |
value | Text, Number, Date, Time | → | 比較する値 |
* | 演算子 | → | クエリ継続フラグ |
説明
QUERY SELECTION BY ATTRIBUTE は QUERY BY ATTRIBUTE と同じように動作します。相違点は検索する範囲が異なるだけです:
- QUERY BY ATTRIBUTE はテーブルの全レコードからレコードを検索します。
- QUERY SELECTION BY ATTRIBUTE はテーブルのカレントセレクションからレコードを検索します。
QUERY SELECTION BY ATTRIBUTE はaTable 内でレコードを検索します。QUERY SELECTION BY ATTRIBUTE コマンドはカレントプロセスにおいて、aTable のカレントセレクションを更新し、新しいカレントセレクションの先頭レコードをカレントレコードに設定します。
詳細については QUERY BY ATTRIBUTE の説明を参照ください。
QUERY SELECTION BY ATTRIBUTE コマンドは、クエリが * 引数で結合された QUERY BY ATTRIBUTE (および QUERY) 呼び出しのシークエンスを使用して定義することが出来ない場合に有用です。例えば、カレントセレクションがクエリではなく、USE SET のようなコマンドによって作成されている場合などが該当します。
例題
ユーザーが選択したレコードを対象に、年齢が20-30歳の個人を検索します:
USE SET("UserSet") // カレントセレクションを選択レコードと置き換えます
QUERY SELECTION BY ATTRIBUTE([Persons];[Persons]OB_Info;"age";>;20;*)
QUERY SELECTION BY ATTRIBUTE([Persons];&;[Persons]OB_Info;"age";<;30) // クエリが実行されます