如何在KQL中使用数组作为WHERE子句的查询条件?
KQL中复用数组作为多表查询条件的正确写法
你遇到的问题是数组定义语法不对——KQL里直接用("AAA","BBB","CCC")定义的是元组,不是动态数组,所以in操作符无法识别。下面是两种正确的写法:
方法1:用dynamic()定义数组
let target_values = dynamic(["AAA", "BBB", "CCC"]); // 第一个表查询 Table | where Field in (target_values) // 第二个表查询 Table1 | where Field1 in (target_values)
方法2:用pack_array()函数定义数组
let target_values = pack_array("AAA", "BBB", "CCC"); Table | where Field in (target_values) Table1 | where Field1 in (target_values)
关于has_any的补充
如果你的需求是字段包含数组中的任意子串(而非精确匹配),可以用has_any,写法类似:
let target_values = dynamic(["AAA", "BBB", "CCC"]); Table | where Field has_any (target_values)
内容的提问来源于stack exchange,提问作者An0n
相关产品推荐
相关产品推荐

