Пожскажите как решить ошибку, будьте добры
WITH a2 AS
(SELECT cluster_root_id FROM "address" as a22 where a22."input" = '34i39oPzZuhTvdjGDgKq4JLDEJnPZm4cbY' OR a22.input = '34i39oPzZuhTvdjGDgKq4JLDEJnPZm4cbY' ORDER BY cluster_root_id DESC LIMIT 1),
a3(cluster_current_id) AS (select cluster_current_id from address a3 order by a3.cluster_current_id DESC LIMIT 1)
INSERT INTO "address" (input, cluster_root_id, cluster_current_id , cluster_parent_id ) VALUES (
'34i39oPzZuhTvdjGDgKq4JLDEJnPZm4cbY',
CASE WHEN a2.cluster_root_id IS NOT NULL THEN a2.cluster_root_id ELSE a3.cluster_current_id + 1 END,
CASE WHEN a2.cluster_root_id IS NOT NULL then a2.cluster_current_id ELSE a3.cluster_current_id + 1 END,
a3.cluster_current_id + 1
);
Error occurred during SQL script execution
Reason:
SQL Error [42P01]: ERROR: missing FROM-clause entry for table "a2"
Position: 562
Можно куда короче и читаемее написать
Case when a is not null then a else b end => coalesce(a, b)