1

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

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

出于某种原因,系统正在执行“与”操作而不是“或”操作。因此,每当我们搜索多个地方时,如果任何结果为空,它们都将为空。

例如:

假设 A 区有 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 没有结果,如果你用任何其他有结果的区域查询该区域,它仍然会出现没有结果。

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

谢谢。

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 回答