如何将 Kusto 查询与 2 table 列进行比较?
How to compare Kusto query against 2 table columns?
如何检查 ProductLine 中的 2 个字段是否与 dynTable 中的 2 个字段完全匹配?
条件:如果 PName 与 Name 匹配并且 IF Cat 与 dynTable 中的类别匹配
所以基本上我们需要使用来自名为 ProductLine 的 table 的信息遍历 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
如何检查 ProductLine 中的 2 个字段是否与 dynTable 中的 2 个字段完全匹配? 条件:如果 PName 与 Name 匹配并且 IF Cat 与 dynTable 中的类别匹配
所以基本上我们需要使用来自名为 ProductLine 的 table 的信息遍历 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