流分析查询以排除记录

问题描述

我成功地加入了这样的参考数据流:

TenantInput AS
(
SELECT 
    Input.userId,Input.tenantId,FROM
    Input
JOIN 
    Tenants TNTS ON Input.tenantId = TNTS.tenantId
)

而 TNTS 是存储 blob 中的 JSON 文件

[
  {
    "tenantId": "t1"
  },{
    "tenantId": "t2"
  }
]

效果很好,输出只包含 t1 + t2 的记录。

在第二个输出中,我想要除租户 t1 + t2 之外的所有数据,但到目前为止我还没有找到解决方案。我尝试了以下操作,但不支持

OtherTenantInput AS
(
SELECT 
    Input.userId,FROM
    Input
WHERE
    Input.tenanId NOT IN (SELECT * FROM TNTS)
)

欢迎提出任何想法。

解决方法

怎么样:

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

这只会输出来自 Input 的事件,其中在 TNTS 中找不到 tenantId