如何对2个表列比较Kusto查询?



如何检查ProductLine中的2个字段是否与dynTable中的2个字段完全匹配?条件:如果PName与Name匹配并且如果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://learn.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