在 Azure 流分析上结合 UNION 和 WITH 语句

Combine UNION and WITH statement on Azure stream analytics

我尝试将不同的来源与 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 语句独立工作,即如果我省略这些行从第一个 select 直到 UNION)

在此版本中,我收到一条通知,指出“WITH”语句附近存在语法错误。有没有办法解决语法错误,让 WITH 和 UNION 语句在 Stream Analytics 上一起工作?

使用当前的 ASA syntax/semantics,与 T-SQL 不同,WITH 子句只允许出现在查询的最前面。

您只能执行“with step1 as (...), step2 as (...), ...”后跟 select 子句使用 step1,step2,... as from 子句中的来源。

然后可以在 WITH 之后的 select 子句中或在单个步骤定义中使用联合。