【发布时间】:2021-10-08 13:57:14
【问题描述】:
我正在尝试在 Azure 数据工厂中实现一个数据流(类似于 in the answer on this question 描述的工作流),它使用 custom SQL-query containing a WITH-statement, as a source(查询 Azure SQL DB),例如:
WITH a AS (
SELECT
--magic
)
SELECT
...
FROM a
...
导致"incorrect syntax" error in ADF
但是在 FROM 语句中指定子查询,例如:
SELECT ...
FROM (
SELECT
--magic
) AS a
...
工作正常,但可以说不那么可读/可理解(尤其是多个堆叠子查询)。
另一种解决方法是从 WITH 语句中获取子查询,并将其完全移至 ADF 中的单独转换步骤;但是对于很多小的子查询,这会产生相当多的开销/不透明。
这引出了一个问题:在 ADF 中是否可以使用 WITH 语句,即使可以,ADF 允许的确切 SQL 语法规则是什么?
我唯一能找到的in the Data Flow docs 是不允许使用 ORDER BY,但没有提及可能适用的其他限制; separate questions here on Stackoverflow suggest that fore example recursive queries are also not supported.
希望得到一些指点,谢谢!
【问题讨论】:
-
您是否在 CTE 声明之前正确终止了您的声明?我想不会。
-
我不确定你的意思,你能详细说明一下吗?
标签: sql-server azure tsql azure-sql-database azure-data-factory