2012-04-10 56 views
0

所以我得到了這個錯誤,我把別名num_documento(codigo「a.num_documento」),但Postgres說num_documento不存在。含糊plpgsql查詢錯誤與插入與選擇

ERROR: la referencia a la columna �num_documento� es ambigua 
Where: PL/pgSQL function "insertar_carga_giros"   
line 145 at sentencia SQ??? 

--query功能insertar_carga_giros

insert into bdsinc."codigo"(num_documento,id_tip_dcto,id_deudor) 
select distincta.num_documento,b.id_tip_dcto,b.id_deudor 
from bdsinc."carga" a 
left join bdsinc."tb_deudor" b 
on a.num_documento=b.num_dcto 
and a.id_tip_dcto=b.id_tip_dcto 
where b.id_deudor is not null and validacion=1; 

我如何做一個插入與選擇PostgreSQL中加入裏面?

+1

你只顯示簡單的SQL。完整的plpgsql函數在哪裏?該錯誤很可能與該函數的頭部有關。您的PostgreSQL版本也丟失了。 – 2012-04-10 15:47:05

+0

這是真的「選擇distincta.num_documento」在您的聲明或是一個錯字/複製和粘貼o? – 2012-04-10 18:16:33

回答

2

INSERT聲明看起來沒問題。您可能在函數中定義了一個與列名衝突的變量名num_documento。也許IN參數?
嘗試重命名該變量。

假設你確實有:

select distinct a.num_documento,b.id_tip_dcto,b.id_deud; 
+0

那麼它是一個壞的複製意大利麪我已經解決了這個問題,謝謝! – Isxida 2013-04-22 21:37:45