You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Stream Analytics查询:如何排除特定租户数据生成第二输出?

解决思路:获取不在指定租户列表中的记录

我来帮你搞定这个问题!你之前用JOIN成功筛选出t1、t2的租户数据,现在要反向筛选的话,因为你的查询环境大概率不支持从Blob JSON数据源直接使用NOT IN子查询,我们可以用LEFT JOIN + IS NULL的兼容写法来实现:

OtherTenantInput AS (
    SELECT Input.userId, Input.tenantId
    FROM Input
    LEFT JOIN Tenants TNTS ON Input.tenantId = TNTS.tenantId
    WHERE TNTS.tenantId IS NULL
)

逻辑说明:

  • LEFT JOIN会保留Input中的所有记录,同时尝试匹配TNTS里的租户ID
  • 当Input的租户ID不在TNTS的列表中时,TNTS.tenantId会返回NULL
  • 通过WHERE TNTS.tenantId IS NULL就能精准过滤出所有不属于t1、t2的租户记录

另外,如果你已经定义好了之前的TenantInput数据集,也可以用EXCEPT操作简化写法(如果你的查询引擎支持该语法):

OtherTenantInput AS (
    SELECT userId, tenantId FROM Input
    EXCEPT
    SELECT userId, tenantId FROM TenantInput
)

这个逻辑直接取Input中存在、但TenantInput(仅t1、t2的记录)中不存在的部分,结果和JOIN写法完全一致。

内容的提问来源于stack exchange,提问作者Juerg Staub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 11:34:07