QUERY SELECTION BY ATTRIBUTE
QUERY SELECTION BY ATTRIBUTE ( {aTable}{;}{conjOp ;} objectField ; attributePath ; queryOp ; value {; *} )
引数 | 型 | 説明 | |
---|---|---|---|
aTable | テーブル | 🡒 | セレクションまたはレコードを返すテーブル 省略時:デフォルトテーブル |
conjOp | 演算子 | 🡒 | 複数のクエリ(あれば)を連結する際に使用する結合演算子 |
objectField | フィールド | 🡒 | 属性をクエリするオブジェクトフィールド |
attributePath | 文字 | 🡒 | 属性の名前またはパス |
queryOp | 演算子, 文字 | 🡒 | クエリ演算子(比較演算子) |
value | テキスト, 数値, 日付, 時間 | 🡒 | 比較する値 |
* | 演算子 | 🡒 | クエリ継続フラグ |
説明
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) // クエリが実行されます