流分析查询以排除记录

Posted

技术标签:

【中文标题】流分析查询以排除记录【英文标题】:Stream Analytics query to exclude records 【发布时间】:2021-03-19 13:37:13 【问题描述】:

我正在成功加入这样的参考数据流:

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,
    Input.tenantId,
FROM
    Input
WHERE
    Input.tenanId NOT IN (SELECT * FROM TNTS)
)

欢迎提出任何想法。

【问题讨论】:

【参考方案1】:

怎么样:

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

【讨论】:

谢谢,一定忽略了这一点,简单明了。

以上是关于流分析查询以排除记录的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure 流分析查询中同时使用数组和记录类型

排除列值以“836”开头的记录

SQL查询;如果子记录 = 条件则排除记录

使用 LINQ 查询排除特定记录

在 power bi 中查看原始数据

全文搜索,包含多个确切的短语和排除项