2012-04-10 58 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