指定されたブール演算子を含む、ネスト化された QueryFilterNode オブジェクトを作成します。
このメソッドは、クエリー式にネスト化されたノード (またはサブノード) を作成します。新たに作成されたノードは、ノード パラメータで指定された QueryFilterNode オブジェクト内のフィルタと同じレベルで機能し、同じ条件に従います。新たに作成されたノードにフィルタを追加するには、他のすべてのノードの場合と同様に BuildFilter メソッドを使用します。
VBScript
' query for (id in idRange) AND (submitter = jjones OR clopez OR kwong) Set qdef = sessionObj.BuildQuery("Defect") qdef.BuildField ("id") qdef.BuildField ("headline") 'Here is the root operator Set filterNode1 = qdef.BuildFilterOperator(AD_BOOL_OP_AND) Dim idRange(1) ' This sets up an array of two elements idRange(0) = "SAMPL00000055" idRange(1) = "SAMPL00000057" filterNode1.BuildFilter "id", AD_COMP_OP_IN, idRange 'Here is the subnode operator Set filterNode2 = filterNode1.BuildFilterOperator(AD_BOOL_OP_OR) filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "jjones" filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "clopez" filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "kwong"
Perl
# query for (Owner = jsmith) AND (state = closed) @owner = ("jsmith"); @state = ("closed"); $queryDef = $CQSession->BuildQuery("Defect"); @dbfields = ("ID","State","Headline"); foreach $field (@dbfields) { $queryDef->BuildField($field); } $FilterNode1 = $queryDef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND); $FilterNode1->BuildFilter("Owner", $CQPerlExt::CQ_COMP_OP_EQ, ¥@owner); $FilterNode1->BuildFilter("State", $CQPerlExt::CQ_COMP_OP_NOT_IN, ¥@state); $resultSet = $CQsession->BuildResultSet($queryDef); $resultSet->Execute; $num_columns = $resultSet->GetNumberOfColumns;