如何在Azure KQL中编写多列关联的join查询语句
KQL多列作为关联条件的join查询编写方法
KQL的join操作不支持通过&&/AND连接多个关联条件,正确的多列关联写法为:用逗号分隔每一组字段匹配规则即可。
情况1:左右表关联字段名完全相同
直接填写公共字段名,多个字段之间用逗号分隔:
let logMaster = Table1; let logClient = Table1; logMaster | join kind=innerunique (logClient) on field1, field2
情况2:左右表关联字段名不同
每组匹配规则单独声明,规则之间用逗号分隔:
let logMaster = Table1; let logClient = Table1; logMaster | join kind=innerunique (logClient) on $left.field1 == $right.field1, $left.field2 == $right.field2
注意事项
- 所有关联的字段对必须数据类型完全一致,类型不匹配会导致关联无结果
- 如果需要对关联字段做预处理,可在join操作前通过
extend、project算子调整字段类型或名称 - 复杂过滤逻辑不要写在on子句中,建议先对左右表做where过滤后再执行join操作
内容的提问来源于stack exchange,提问作者JensB
相关产品推荐
相关产品推荐

