1
我有一个代码块,在该代码块中循环包含具有一些同名命名列的两个表的连接的记录。在循环记录时访问同名命名列
现在我需要的其中两个同样名为列的值,但我不能让过去的“失踪子句条目表‘T1’:
DO $$
DECLARE
r record;
BEGIN
FOR r IN SELECT t1.*, t2.* FROM Table1 t1 JOIN Table2 t2 ON t1.somecolumn = t2.somecolumn
LOOP
INSERT INTO Table3 (column1, column2)
VALUES (r.t1.someotherColumn, r.t2.someotherColumn);
--^ error occurs here
END LOOP;
END$$;
你需要明确列出你的选择所有列,并给他们的别名。 –
需要'选择T1,t2'在循环头部和参考列作为'(R .t1).someotherColumn'在你的循环体中,否则你需要提及所有列明确地使用别名来解决歧义。 – pozs