在 Azure 流分析中结合 UNION 和 WITH 语句
Posted
技术标签:
【中文标题】在 Azure 流分析中结合 UNION 和 WITH 语句【英文标题】:Combine UNION and WITH statement on Azure stream analytics 【发布时间】:2020-10-09 14:01:29 【问题描述】:我尝试将不同的来源与 Azure 流分析上的 UNION 语句结合起来。 一般来说,这很好用:
SELECT
date
, value
FROM source1
UNION
SELECT
date
, value
FROM source2
但现在我需要一些需要 WITH 语句的计算,所以我希望这会起作用:
SELECT
date
, value
FROM source1
UNION
(WITH tempTab AS (
SELECT
date
, value
FROM source2
SELECT
date
, value
FROM tempTab
)
(我知道这个 WITH 语句的示例是完全愚蠢的,但是让我们假设我有必要的现实世界场景。让我们进一步假设 WITH 语句独立工作,即如果我省略了先选择直到UNION之后)
在此版本中,我收到一条通知,提示“WITH”语句附近存在语法错误。有没有办法解决语法错误并使 WITH 和 UNION 语句在流分析上协同工作?
【问题讨论】:
【参考方案1】:使用当前的 ASA 语法/语义,与 T-SQL 不同,WITH 子句只允许出现在查询的最前面。
您只能执行“with step1 as (...), step2 as (...), ...”,后跟 select 子句,使用 step1,step2,... 作为 from 子句中的源。
union 可以在 WITH 之后的 select 子句中使用,也可以在单个步骤定义中使用。
【讨论】:
好的,重组成功了:我把“WITH”语句放在前面,其余的放在后面。不是它工作正常。以上是关于在 Azure 流分析中结合 UNION 和 WITH 语句的主要内容,如果未能解决你的问题,请参考以下文章
使用适用于 .NET 的 Azure 流分析 API 设置和运行分析作业