当其中一个是数字而另一个是范围时如何关联两个条目

How to correlate two entries when one of them is a number and the other is a range

我在 Sentinel 中有两个表,其中包含数据。我在 Table A 中有字段 A,它是一个数字。我在 Table B 中有两个字段 B 和 C,它们也是数字,但它们代表一个范围。 像 Table A 字段包含数字“9”,Table B 字段 B 包含数字“3”,Table B 字段 C 包含数字“18”。

我想遍历 Table A 中的所有条目并在 Table B 中找到这些条目的匹配日志。如果字段 A 的值在字段 B 和 C 的范围(B 和 C 之间)。因此,在上面的示例中,数字 9 介于 3 和 18 之间,因此两个表中的这两个条目将匹配。

因为它们不是完全匹配,所以我无法使用连接来查找匹配的条目。

有没有办法用 KQL (Kusto) 以某种方式做到这一点?我尝试了多种解决方案,但到目前为止 none 解决了。我尝试使用用户定义的函数,但出现 'Tabular expression is not expected in the current context' 错误。

一种天真的方法是使用笛卡尔积并应用过滤器,这是一个示例:

let A = datatable(a:int) [9, 25, 2];
let B = datatable(b:int, c:int) [3,13, 1,2];
A
| extend dummy = 1
| join kind=inner (B | extend dummy =1) on dummy
| where a between (b .. c)
| project-away dummy*
a b c
9 3 13
2 1 2