在另一个查询中使用查找 activity 的输出

Use the output from a lookup activity on another query

我查找 activity (Get_ID) returns:

{
    "count": 2,
    "value": [
        {
            "TRGT_VAL": "10000"
        },
        {
            "TRGT_VAL": "52000"
        }
    ],
(...)

我想在另一个 activity 的查询的 WHERE 子句中使用来自 TRGT_VAL 的这两个值。我正在使用

@concat('SELECT * FROM table WHERE column in ',activity('Get_ID').output.value[0].TRGT_VAL)

但只考虑第一个值 10000。如何获取整个列表?

我通过大量替换解决了问题:

@concat('(',replace(replace(replace(replace(replace(replace(replace(string(activity('Get_ID').output.value),'{',''),' ',''),'"',''),'TRGT_VAL:',''),'[',''),'}',''),']',''),')')
Output
{
    "name": "AptitudeCF",
    "value": "(10000,52000)"
}

您可以使用字符串插值语法并构建查询,而不是使用带有大量替换函数的大表达式。以下是您可以考虑的查询。

SELECT * FROM table WHERE column in (@{activity('Get_ID').output.value[0].TRGT_VAL},@{activity('Get_ID').output.value[1].TRGT_VAL)