Subject Error with circular reference while inserting or updating
Author Andrei Luís
Hi,

IBO 4.9.9 + BDS 2006 + FB 2.5

I'm trying to insert/update a table using a TIB_Query with the following SQL:

select P.REGISTRO_ID, P.CODIGO, P.CODIGO2, P.PRODUTO, P.VALOR_COMPRA,
P.VALOR_VENDA,
P.CLASSIFICACAO_FISCAL, P.CLASSIFICACAOFISCAL_ID,
P.GRUPO_ID, P.MONTADO, P.ATIVO, P.UNIDADE, P.DESENHO,
P.CODIGOMP_ID, P.QTDEMP
,MP.PRODUTO as produto_mp
from produtos p
left join produtos mp on mp.registro_id=p.codigomp_id

Keyrelation = p
Keylinks = p.registro_id


Please note that I'm doing a circular reference, doing a join with the
same table specified in the from clause.

I do a query.edit or .insert, and when I call a post, the following
exception is raised:

ISC ERROR CODE: 335544569
SQL error code: -206
Column PRODUTOS.PRODUTO cannot be repeated in UPDATE statement

I removed the line ,MP.PRODUTO as produto_mp (but I didn´t remove the
left join ....) and the error is gone.
I changed the left join to a subselect ((Select produto from produtos
where registro_id=p.codigomp_id) as produto_mp), it worked.

My questions are:

- Why I'm getting this error, and how to correct it?
- Which is the best? left join or subselect?


[]s
Andrei