ページのトップに戻る
Interstage Data Effector ユーザーズガイド

3.2.3 複数の条件を論理演算子で結合して抽出する

複数の条件を論理演算子で結合して抽出できます。論理演算子を指定することで、条件1と条件2の両方を満たすデータを抽出したり、条件1または条件2を満たすデータを抽出したりできます。

論理演算子には、“AND”および“OR”があります。“AND”と“OR”を検索式に指定した場合は、“AND”が“OR”より優先して判定されます。

検索式および論理演算子の詳細については、“A.1 検索式”を参照してください。


例として以下の文書があるものとします。

文書A

"empno","name","date","expense","area","train","taxi"
"19980120","鈴木太郎","2007年06月30日","15700円","東京都千代田区","7200円",""
  :

文書B

"empno","name","date","expense","area","train","taxi"
"20012111","佐藤花子","2007年07月01日","16020円","大阪府大阪市阿倍野区",,"14200円","1820円"
  :

文書C

"empno","name","date","expense","area","train","taxi"
"19980120","鈴木太郎","2007年07月02日","2400円","神奈川県横浜市港北区","2400円",""
  :

文書A

<doc>
    :
  <basic date="2007年06月30日" expense="15700円">
    :
  </basic>
  <detail>
    <destination area="東京都千代田区">東京営業所</destination>
    <purpose>Interstage Shunsaku販売推進会議出席</purpose>
    :
  </detail>
    :
</doc>

文書B

<doc>
    :
  <basic date="2007年07月01日" expense="16020円">
    :
  </basic>
  <detail>
    <destination area="大阪府大阪市阿倍野区">大阪支店</destination>
    <purpose>V7.0L10導入報告</purpose>
    :
  </detail>
    :
</doc>

文書C

<doc>
    :
  <basic date="2007年07月02日" expense="2400円">
    :
  </basic>
  <detail>
    <destination area="神奈川県横浜市港北区">本社</destination>
    <purpose>Interstage定例会議</purpose>
    :
  </detail>
    :
</doc>

出張エリア(area)に“東京都”または“神奈川県”という文字列を含む文書を抽出します。

検索式
$area = '東京都'  OR $area = '神奈川県'

結果:文書Aと文書Cが返却されます。

出張エリア(area)に“東京都”または“神奈川県”という文字列を含む文書を抽出します。

検索式
/doc/detail/destination/@area = '東京都' OR 
/doc/detail/destination/@area = '神奈川県'

結果:文書Aと文書Cが返却されます。


ポイント

“OR”を優先させたい場合は、条件式を括弧でくくります。


出張エリア(area)が“東京都千代田区”または“神奈川県横浜市港北区”で、かつ、出張日(date)に“2007年07月”を含む文書を抽出します。

検索式
($area == '東京都千代田区' OR  $area == '神奈川県横浜市港北区') AND $date = '2007年07月'

結果:文書Cが返却されます。