Search Postgresql Archives

Re: can these queries be combined into one?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2012-03-25 at 08:41 +0000, hamann.w@xxxxxxxxxxx wrote:
> Guillaume Lelarge <guillaume@xxxxxxxxxxxx> worte:
> >> > 
> >> > 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?
> >> > 
> >> 
> >> Difficult to be really precise, but you may do this with:
> >> 
> >> UPDATE products
> >> SET codes = codes | 512
> >> FROM othertable t
> >> WHERE
> >>   <your first-SELECT WHERE clause here>
> >>   AND ordercode = t.ordercode AND ...
> >> RETURNING
> >>   ordercode, descr, codes;
> >> 
> >> You need at least 8.2 to use the RETURNING clause.
> >> 
> 
> Hi Guillaume,
> 
> thanks a lot, but it is not really what I need: I want the whole lot, not just the rows that were part
> of the update
> 

Oops, you're right. Never answer before having some coffee :)

I guess you don't have much choice then. You'll need that temp table.


-- 
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux