複数の条件を論理演算子で結合して抽出できます。論理演算子を指定することで、条件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が返却されます。