Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

第4章 データを操作する方法> 4.2 データを抽出する

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

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

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

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

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

csv

文書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円",""

  :

xml

文書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が返却されます。


目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED