加入雪花中的UDF



创建一些 UDF 后,以下查询有效:

    SELECT
        rsp.id
    FROM TABLE(UDF_1('2019-04-18 12:00:00'::timestamp_ltz)) AS rsp

但是,此查询:

    SELECT
        rsp.id
    FROM TABLE(UDF_1('2019-04-18 12:00:00'::timestamp_ltz)) AS rsp
    JOIN TABLE(UDF_2('2019-04-18 12:00:00'::timestamp_ltz)) AS rasp ON 
        rsp.id = rasp.id AND
        rsp.timestamp = rasp.start;

给我:

SQL compilation error: error line 5 at position 8 invalid identifier 'RSP.ID'

如果第一个查询不起作用,我会理解的。但是,既然第一个查询确实有效,为什么我被告知RSP.ID无效?

我能够找到一个解决方案:

    SELECT
        rsp.id
    FROM (SELECT * FROM TABLE(UDF_1('2019-04-18 12:00:00'::timestamp_ltz))) AS rsp
    JOIN (SELECT * FROM TABLE(UDF_2('2019-04-18 12:00:00'::timestamp_ltz))) AS rasp ON 
        rsp.id = rasp.id AND
        rsp.timestamp = rasp.start;

工程。我们推测JOINs发生在函数执行之前,因此"没有什么"可以JOIN

我相信通过仅选择我想要反对的行可以更有效*,但上述内容对我有用。

相关内容

  • 没有找到相关文章

最新更新