通过PHRETS RETS系统进行多选查询

时间:2011-12-01 22:49:42

标签: forms multiple-select rets or-operator

我有一个系统通过PHRETS系统运行RETS。我有一个表单,通过查询来提取结果,我们在多选框中添加。

到目前为止,我的代码对于查询看起来像这样:(SUB_AREA_NAME = | AreaA,AreaB,AreaC,AreaD) 这适用于允许出现许多结果。问题是:

出于某种原因,系统正在做一个'和'操作而不是'或'操作。因此,任何时候我们搜索多个地方,如果任何结果出现空白,它们都会变空。

例如:

让我们说AreaA有3栋房子。 AreaB有0栋房屋,AreaC有10栋房屋,AreaD有1栋房屋。

如果你抬头: AreaA + AreaC您将获得13个结果。
AreaA + AreaC + AreaD您将获得14个结果。
AreaD本身就会得到1个结果。

AreaA + AreaB您将获得0结果。
AreaA + AreaB + AreaC + AreaD您将得到0个结果。

基本上,因为AreaB没有结果,如果你在任何其他区域中查询该区域确实有结果,它仍然会出现没有结果。

我需要知道如何从一个类别查询多个选项,同时显示所有结果,即使一个区域没有任何结果。

感谢。

1 个答案:

答案 0 :(得分: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)