为什么在 json 配置文件的 sql 查询末尾添加 'a1' 用于从 NetSuite 中提取数据?不添加会导致错误?

Why is 'a1' added at the end of sql query in json config file meant for data extraction from NetSuite? Not adding that can cause error?

我正在努力将数据从 Netsuite 提取到 Databricks 文件存储中。我通过编写 json 脚本并通过 Azure Data Factory 执行它来做到这一点。此 JSON 有一个部分,您可以在其中指定从 Netsuite 中提取时要使用的查询。它被称为“incrementalSql”。我经常看到这里,最后添加一个'a1'。

"incrementalParams": {
                    "checkpointTablePath": "dbfs:/mnt/data/governed/l1/audit/log/checkpoint_log/",
                    "extractId": "NETSUITE_CURRENCY_EXCHANGE_RATE",
                    "incrementalSql": "(select b.NAME as BASE_CURRENCY_CD, c.NAME as CURRENCY_CD, a.EXCHANGE_RATE, a.DATE_EFFECTIVE from Administrator.CURRENCY_EXCHANGE_RATES a left join Administrator.CURRENCIES b on a.BASE_CURRENCY_ID = b.CURRENCY_ID left join Administrator.CURRENCIES c on a.CURRENCY_ID = c.CURRENCY_ID) a1",
                    "maxCheckPoint1": "(select to_char(max(DATE_EFFECTIVE), 'DD-MM-YYYY HH24:MI:SS') from Administrator.CURRENCY_EXCHANGE_RATES where DATE_EFFECTIVE > to_date('%%{CHECKPOINT_VALUE_1}', 'YYYY-MM-DD HH24:MI:SS'))"
                }

注意 incrementalSql 字段末尾的 a1。

有谁知道为什么要加?它仅在 NetSuite 或 Oracle 的情况下添加吗?不加会报错吗?

如@MT0 评论所述,假设为真。 incrementalSql 字段末尾的 a1 是引用动态嵌入的子查询的别名。

不添加别名会出错。子查询是一种派生table。所以引用那个别名是必要的。

如果未添加别名,您可能会收到类似错误 - Alias Required to Avoid Duplicate Columns