【问题标题】:SQL compilation error: Unsupported subquery type cannot be evaluated in SnowflakeSQL 编译错误:无法在 Snowflake 中评估不受支持的子查询类型
【发布时间】:2020-02-24 12:24:03
【问题描述】:

我面临 SQL 编译错误:无法在用于 QA 的 Snowflake 实例之一中评估不支持的子查询类型以进行以下查询:

Select 
 CASE WHEN (Select count(USERSOURCE) From QA_DW.PRDODB.User Where 
 USERSOURCE=3) = 0  OR RECID not in (Select UD_SRC_KEY From QA_DW.PRDODB.User 
 Where 
 USERSOURCE=3)  
      THEN CreatedDateTime 
 ELSE CONVERT_TIMEZONE('US/Pacific','UTC',cast(CURRENT_TIMESTAMP() as 
      TIMESTAMP_NTZ)) 
 END  as FROM_DTIMEUTC
 FROm QA_STAGING.HISTODB.STG_User_TBL 

相同的查询在 DEV 实例中运行。

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    使用这个查询代替上面的查询:

    SELECT 
    CASE WHEN c.COUNT_USERSOURCE = 0 OR RECID NOT IN (SELECT UD_SRC_KEY FROM 
    QA_DW.PRDODB.USER WHERE USERSOURCE=3)
    THEN CreatedDateTime 
    ELSE CONVERT_TIMEZONE('US/Pacific','UTC',CAST(CURRENT_TIMESTAMP() AS TIMESTAMP_NTZ)) 
    END AS FROM_DTIMEUTC 
    FROM QA_STAGING.HISTODB.STG_User_TBL
    OUTER APPLY (
     SELECT 
     COUNT(USERSOURCE)  AS COUNT_USERSOURCE
     FROM QA_DW.PRDODB.USER WHERE USERSOURCE=3
     ) AS C
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多