0
我有一個代碼塊,其中循環包含兩個連接的子查詢的記錄,這些子查詢在不同的表中包含同名命名的列。在循環包含2個子查詢結果的記錄時訪問列
現在,我似乎能夠訪問SQ1和SQ2的記錄,但沒有內容,我總是得到「中記錄的數據類型無法識別列‘C1’」,即使我添加顯式別名的列:
DO $$
DECLARE
r record;
BEGIN
FOR r IN SELECT sq1, sq2
FROM (SELECT t1.someColumn as c1, t2.someColumn as c2, ... FROM Table1 t1 JOIN Table2 t2 ...) sq1
JOIN (SELECT t1.someColumn as c1, t2.someColumn as c2, ... FROM Table1 t1 JOIN Table2 t2 ...) sq2
ON (sq1.joinColumn1 = sq2.joinColumn2 AND sq1.joinColumn2 = sq2.joinColumn1)
LOOP
INSERT INTO Table3 (column1, column2)
VALUES ((r.sq1).c1, (r.sq2).c1);
--^ error occurs here
END LOOP;
END$$;
我正在尋找一種方式來訪問類似於以下方式記錄:
r.sq1.t1.someColumn
非常好,正是我期待的,謝謝!這樣我甚至可以擺脫c1和c2的別名。 – realheri