在Application Insights Analytics查询语言中检查另一个表中是否存在某些内容的传统方法是什么?

时间:2017-02-16 17:18:22

标签: analytics azure-application-insights ms-app-analytics

我希望按名称限制特定关联依赖项的请求。我尝试使用 leftsemi join,但这似乎并没有像我预期的那样工作,因为它让我的游戏结果与我的内部联接相同。

requests
| where timestamp >= ago(24h)
| join kind=leftsemi (
    dependencies
    | where name contains "MYDATABASENAME" 
) on operation_Id 
| summarize count() by tostring(parseurl(url).Path)
| order by count_ desc

接下来我正在查看where-in语句,但我仍然不确定这是否是预期的方式来执行通常在T中的exists语句-SQL。

2 个答案:

答案 0 :(得分:0)

您应该能够使用let语句来实现此目的。

答案 1 :(得分:0)

实际上,为了获得where-in语义,你应该使用内连接。来自join的文档(在 kind = inner 部分):

  

输出中有一行来自左右匹配的每一行。

此外,由于返回表的大小有限制,您可能希望限制连接的右侧,如下所示:

requests 
| where timestamp >= ago(24h)
| join kind=inner (
    dependencies
    | where name contains "MYDATABASENAME" 
    | project operation_Id
) on operation_Id 
| summarize count() by tostring(parseurl(url).Path)
| order by count_ desc