Re: can these queries be combined into one?

Поиск
Список
Период
Сортировка
От Rainer Pruy
Тема Re: can these queries be combined into one?
Дата
Msg-id 4F70883E.9020108@acrys.com
обсуждение исходный текст
Ответ на can these queries be combined into one?  (hamann.w@t-online.de)
Список pgsql-general
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@t-online.de 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
>
>

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Change the default [tgenabled] for new "internal" triggers ?
Следующее
От: Gregg Jaskiewicz
Дата:
Сообщение: language name case sensitivity, also known as plpgsql <> 'PLpgSQL'