【问题标题】:Accees table attribute in Snowflake CTESnowflake CTE 中的访问表属性
【发布时间】:2021-05-27 12:22:47
【问题描述】:
use database DQ_MART;

use schema WORKING;

WITH ASCENDER_EMPLOYEE AS (
    **SELECT DISTINCT EMPLOYEE_ID FROM RECONCILLIATION_ASCENDER_WORKER_TIMESHEET**
),
     WORKDAY_EMPLOYEE AS (
         **SELECT DISTINCT EMPLOYEE_ID FROM RECONCILLIATION_WORKDAY_WORKER_TIMESHEET**
     )
     
SELECT 'Missing employee in Ascender'              DQ_RULE_NAME,
       RECONCILLIATION_WORKDAY_WORKER_TIMESHEET.EMPLOYEE_ID                         KEY
      
FROM WORKDAY_EMPLOYEE WORKDAY
         LEFT OUTER JOIN ASCENDER_EMPLOYEE ASCENDER
                         ON ASCENDER.EMPLOYEE_ID = WORKDAY.EMPLOYEE_ID
;

大家好,我对 Snowflake SQL CTE 有点陌生。在上面的查询中,我收到一个错误,Error: invalid identifier 'RECONCILLIATION_WORKDAY_WORKER_TIMESHEET.EMPLOYEE_ID' (line 16) in this line

RECONCILLIATION_WORKDAY_WORKER_TIMESHEET.EMPLOYEE_ID

访问同一张表的select语句运行正常。 表所在的数据库和架构设置正确,并且我确实对表有 SELECT 授权。

Snowflake 中是否存在导致错误发生的范围可见性。欢迎提出任何建议。

【问题讨论】:

    标签: snowflake-cloud-data-platform sql-cte


    【解决方案1】:

    “RECONCILLIATION_WORKDAY_WORKER_TIMESHEET.EMPLOYEE_ID”表示“RECONCILLIATION_WORKDAY_WORKER_TIMESHEET”表中的“EMPLOYEE_ID”列。

    您使用此列的选择语句是:

    SELECT <column list>
    FROM WORKDAY_EMPLOYEE WORKDAY
    LEFT OUTER JOIN ASCENDER_EMPLOYEE ASCENDER
    ON ASCENDER.EMPLOYEE_ID = WORKDAY.EMPLOYEE_ID
    

    其中不包含名为 RECONCILLIATION_WORKDAY_WORKER_TIMESHEET 的表 - 这就是您收到错误的原因

    【讨论】:

      猜你喜欢
      • 2023-01-21
      • 2021-11-04
      • 2022-06-14
      • 1970-01-01
      • 2019-07-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      相关资源
      最近更新 更多