Как написать запрос DMQL, который ищет числовое число в заданном списке? - PullRequest
1 голос
/ 12 мая 2019

Я пытаюсь подключиться к серверу RETS, чтобы получить список, в котором Matrix_Unique_Id находится в списке bigint значений.

Мой запрос IN DMQL выглядит примерно такthis

(Matrix_Unique_Id=|123456789456,845686745,845156413,8654543354)

Однако, это дает мне следующую ошибку

DMQL: недопустимые критерии BigInt для поля 'Matrix_Unique_ID'string

Если яиспользовать тот же синтаксис для поиска строки в списке, он отлично работает, например,

(Status=|Active,Pending,Expired)

Как я могу найти список, где Matrix_Unique_Id в длинном списке значений?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Между предложением DMQL-запроса для нормального поля и полем поиска на сервере RETS есть разница.

В первом примере вы задали запрос с символом трубы "|" .Но тогда он будет работать для значений поиска, таких как «Статус», «Город», «Округ» и т. Д.

Вы должны попробовать вот так для Matrix_Unique_Id (нормальное поле),

(Matrix_Unique_Id=123456789456,845686745,845156413,8654543354)

Ответ, который вы написали, также корректен, но тогда он длинен и полезен только для нескольких полей в запросе.

Примечание: нет никакой разницы ни для bigint, ни для строки при запросе.

0 голосов
/ 13 мая 2019

Оказалось, что синтаксис IN работает только для строковых типов.

Чтобы заставить работать bigint, мне пришлось сделать следующий неприятный синтаксис

(Matrix_Unique_Id=123456789456)|(Matrix_Unique_Id=845686745)|(Matrix_Unique_Id=845156413)|(Matrix_Unique_Id=8654543354)

Вышедал мне ожидаемый результат.Однако, поскольку это делает URI запроса намного длиннее, мне пришлось отправить несколько запросов, чтобы избежать ошибки HTTP с кодом 404 или 414.

...