Hi All,
I have a query in which I want to SELECT FOR UPDATE same rows but only from one table.
Firs I try just with SELECT FOR UPDATE but I receive an error
because of the LEFT JOIN - "ERROR: SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an outer join". So I decide to use SELECT FOR UPDATE OF <table name> but I then receive the error you can see.
Can anyone help me with this query?

Thanks in advance.

 Regards,
   Kaloyan Iliev

rsr=# SELECT
rsr-#        DD.*
rsr-# ( SELECT sum(-amount * saldo_sign(credit))
rsr(#                                                   FROM acc_debts ACD1
rsr(# WHERE ACD1.debtid = DD.debtid ) AS saldo,
rsr-#                                                 C.custid,
rsr-#                                                 S.descr_bg
rsr-# FROM debts_desc DD LEFT JOIN config C ON (DD.conf_id = C.id),
rsr-#                                         acc_debts AD,
rsr-#                                         acc_clients AC,
rsr-#                                         services S
rsr-#                                WHERE DD.debtid = AD.debtid
rsr-# AND DD.closed AND NOT DD.paid AND DD.has_invoice AND DD.active AND DD.has_proform AND NOT DD.storned rsr-# AND AD.transact_no = AC.transact_no rsr-# AND AC.ino = 45 rsr-# FOR UPDATE OF debts_desc; ERROR: relation "debts_desc" in FOR UPDATE/SHARE clause not found in FROM clause
rsr=# select version();
                                           version
------------------------------------------------------------------------------------------------
PostgreSQL 8.1.4 on i386-portbld-freebsd6.1, compiled by GCC cc (GCC) 3.4.4 [FreeBSD] 20050518
(1 row)


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to