1

私は PHRETS システムを介して RETS を実行しているシステムを持っています。クエリを実行して結果を引き出すフォームがあり、複数選択ボックスを追加しています。

これまでのところ、クエリのコードは次のようになっています。問題はこれです:

何らかの理由で、システムは「or」操作ではなく「and」操作を実行しています。したがって、複数の場所を検索するときはいつでも、結果のいずれかが空の場合、それらはすべて空になります。

例えば:

AreaA に 3 つの家があるとします。AreaB には 0 軒の家があり、AreaC には 10 軒の家があり、AreaD には 1 軒の家があります。

検索 AreaA + AreaCすると、13 件の結果が得られます。
AreaA + AreaC + AreaD14 の結果が得られます。
AreaDそれだけで 1 つの結果が得られます。

AreaA + AreaB0 の結果が得られます。
AreaA + AreaB + AreaC + AreaD0 の結果が得られます。

基本的に、AreaB は結果がないため、結果のある他の領域でその領域をクエリしても、結果は返されません。

1 つの領域に何もない場合でもすべての結果を表示しながら、1 つのカテゴリから複数の選択を照会する方法を知る必要があります。

ありがとう。

4

1 に答える 1

1

一部の(ほとんどの) RETS サーバーの実装は正しく行われていません。RETS仕様によると、クエリは正しいです。特定の状況で何が機能するかを見つけるだけです。

たとえば、それが機能するかどうかを試し((SUB_AREA_NAME=AreaA)|(SUB_AREA_NAME=AreaB)|(SUB_AREA_NAME=AreaC)|(SUB_AREA_NAME=AreaD))てみることができます。

場合によっては、この作業を見たことがあります。OR 結合であるにもかかわらず、パイプを削除したことに注意してください。(SUB_AREA_NAME=AreaA,AreaB,AreaC,AreaD)

それ以外の場合は、コンマでは機能せず、4 つの個別のクエリを使用する必要があります。

また、サーバーがファウルアップしてコンマを適切にエンコードしていない場合でも、このようなことをしなければならないことがあります(SUB_AREA_NAME=|AreaA%2CAreaB%2CAreaC%2CAreaD)

于 2013-06-04T21:37:26.850 に答える