You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用KQL实现无关表多条件查询并返回全量表数据?

正确的KQL写法说明

你的原语句存在语法错误,导致只返回了SecurityEvent表的过滤结果。问题出在union的使用方式上,你把SigninLogs的过滤条件写在了union的语法结构外,且两段查询是独立执行的,最终只会执行最后一段SecurityEvent的查询。

以下是两种正确的写法:

方式一:先过滤再合并(推荐,性能更优)

先分别对两个表应用过滤条件,再通过union合并结果:

SigninLogs
| where * contains "user"
union
SecurityEvent
| where EventID == 4722

方式二:先合并再过滤

先合并两个表的所有数据,再统一应用过滤条件(任一条件满足即返回):

union SigninLogs, SecurityEvent
| where * contains "user" or EventID == 4722

注:这种方式下,EventID字段仅存在于SecurityEvent表中,SigninLogs表中该字段会被视为null,因此EventID == 4722只会匹配SecurityEvent的对应记录;* contains "user"会匹配两个表中任意字段包含"user"的记录。

内容的提问来源于stack exchange,提问作者MexPayload

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:14:55