团队,
我在这里遇到一个问题,对于两个列,例如a.ref1和b.ref2,有2个临时表a和b,其值分别为5和6。
我正在尝试将这些值添加到另一个SQL中
"select c.col1, d.col1,d.col2 from c join d on a.id=d.id where d.col1=(schema_name).a.ref1 or
d.col2=(schema_name).b.ref2"
我收到类似
的错误"Invalid table alias or column reference "
。任何想法,为什么会这样。我尝试使用select查询传递临时表值,但这在蜂巢中不起作用。任何进一步的帮助将不胜感激
答案 0 :(得分:0)
您可以使用称为“公用表表达式”的方法来执行此操作,这将使查询性能更好。
它看起来像这样:
WITH
refined_d AS
(
SELECT
d.id,
d.col1,
d.col2
FROM
d
INNER JOIN
(schema_name).a
ON
( (schema_name).a.ref1 = d.col1)
INNER JOIN
(schema_name).b
ON
( ( schema_name).b.ref2 = d.col2)
)
SELECT
c.col1,
d.col1,
d.col2
FROM
c
JOIN
refined_d d
ON
c.id=d.id;