Я хочу запросить таблицу в Mulesoft (с помощью Studio Anypoint), чтобы вернуть все строки с помощью Document_id, который соответствует любому идентификатору в моем массиве с именем " DocumentIds ", которые могут выглядеть как [123, 456, 789]. Формат.
Оригинальная попытка:
sql Query Text:
Код: Выделить всё
SELECT * FROM document_billing WHERE document_id IN :documentIDs;Входные параметры:
Код: Выделить всё
{
"documentIDs": vars.documentIDs
}
Попробое решение 1:
text Query Sql:
Код: Выделить всё
SELECT * FROM document_billing WHERE document_id IN :documentIDs;Входные параметры:
Код: Выделить всё
{
"documentIDs": vars.documentIDs joinBy ","
}
Код: Выделить всё
SELECT * FROM document_billing WHERE document_id IN ("123, 456, 789")< /code>
, который возвращает строки с документом_ид "123, 456, 789" вместо строк с Document_ID 123, 456 или 789. < /p>
Попробое решение 2 : < /p>
%dw 2.0
output application/java
var query = "SELECT * FROM document_billing WHERE document_id IN ("
---
query ++ (payload.documentIDs joinBy (",")) ++ ")"
Код: Выделить всё
:document_billing_query;Входные параметры:
Код: Выделить всё
{"document_billing_query": vars.document_billing_query}Проблема : неверный запрос
Попробое решение 3:
Код: Выделить всё
%dw 2.0
output application/java
var query = "SELECT * FROM document_billing WHERE document_id IN ("
---
query ++ (payload.documentIDs joinBy (",")) ++ ")"
Код: Выделить всё
#[$(document_billing_query)]Попытка решения 4:
Код: Выделить всё
%dw 2.0
output application/java
var query = "SELECT * FROM document_billing WHERE document_id IN ("
---
query ++ (payload.documentIDs joinBy (",")) ++ ")"
Код: Выделить всё
#["$(document_billing_query)"]Подробнее здесь: https://stackoverflow.com/questions/793 ... f-an-array
Мобильная версия