azure - 如何将 Kusto 查询与 2 个表列进行比较?
问题描述
如何检查 ProductLine 的 2 个字段是否与 dynTable 中的 2 个字段完全匹配?条件:如果 PName 与 Name 匹配,并且 IF Cat 与 dynTable 中的 Category 匹配
因此,基本上我们需要使用名为 ProductLine 的表中的信息来遍历 dynTable 的各项。
| PName | Cat | Info
----------------------
| A | X | 123
| B | Y | 456
| C | Z | 789
----------------------
let dynTable =
print myDynamicValue = dynamic(
[
{
"Name": "X",
"Category": "Y"
},
{
"Name": "A",
"Category": "B"
},
{
"Name": "A",
"Category": B"
}
])
| mvexpand myDynamicValue
| evaluate bag_unpack(myDynamicValue);
dynTable
解决方案
您可以使用join
运算符加入两列:https ://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/joinoperator?pivots=azuredataexplorer
datatable(Name:string, Category:string)
[
"X", "Y",
"A", "B",
"A", "B",
]
| join (datatable(PName:string, Cat:string, Info:string)
[
'A', 'X', 123,
'B', 'Y', 456,
'C', 'Z', 789,
]) on $left.Name == $right.PName and $left.Category == $right.Cat
推荐阅读
- c# - C# HttpWebRequest 验证/指定使用的密码
- sql - 当数据中存在多对多关系时如何在 SQL 中获取唯一对
- swift - 减少位置管理器更新的频率
- c# - 在 xaml.cs 中单击 Wpf 按钮
- c# - Python.NET 如何在 Python 中执行 .NET 代码?它是如何收集垃圾的?
- mysql - 如何对 x 个相同的 MySQL SUM 表求和?
- javascript - 无法使用 jQuery 使输入行为作为选项卡
- java - Eclipse PowerMock 覆盖与 ECLEmma
- javascript - 如何防止 pwa 虚拟键盘破坏我的布局?我正在使用 vuejs
- ios - 如何在 iOS 上录制视频时保存 TrueDepth 数据?