Solution heavily depends on the relation of products and othertable. If ordercode at most has a single match with ordercode from othertable, then a simple left join and a coalesce() or CASE in the select list will do ( SELECT p.ordercode, p.descr, CASE WHEN t.codes is NULL THEN p.ordercode ELSE t.ordercode | 512 from products p left join othertable t on p.ordercode = t.ordercode WHERE........ ;) IF othertable has several matching rows you might need to applay an aggregator adding in all the bits for codes.... However, your update statement seems to imply something along the first case...... Regards Rainer On 25.03.2012 09:16, hamann.w@xxxxxxxxxxx wrote: > > Hi, > > I am currently doing something like > > select ordercode, descr, codes into temp table x from products where ... > Here codes is a bit-mapped field > update x set codes = codes | 512 from othertable t where ordercode = t.ordercode and .... > select * from x > > Is there a way to avoid that temp table? > > Regards > Wolfgang Hamann > > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general