지정된 부울 연산자를 포함하는 중첩된 QueryFilterNode 오브젝트를 작성합니다.
이 메소드는 조회 표현식에 중첩된 노드(또는 서브노드)를 작성합니다. 새로 작성된 노드는 노드 매개변수에 지정된 QueryFilterNode 오브젝트의 필터와 같은 레벨에서 동작하며 같은 조건이 적용됩니다. 다른 노드에서와 마찬가지로, BuildFilter 메소드를 사용하여 필터를 새로 작성된 노드에 추가할 수 있습니다.
VBScript
node.BuildFilterOperator bool_operator
Perl
$node->BuildFilterOperator(bool_operator);
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;