在创建一些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无效?
发布于 2019-04-19 17:48:45
我想出了一个解决办法:
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没有什么可用的。
我确信,只要选择与*相反的行,这会更有效,但上述方法对我来说是有效的。
https://stackoverflow.com/questions/55763739
复制相似问题