Heres a good one...

Поиск
Список
Период
Сортировка
От Steve Meynell
Тема Heres a good one...
Дата
Msg-id 3AE9C58A.2491BF85@candata.com
обсуждение исходный текст
Ответы Re: Heres a good one...  (Anuradha Ratnaweera <anuradha@gnu.org>)
Список pgsql-sql
Ok here is what looks like a good one that has stumped me.

Let me set it up... I have two tables in my database test.  They are
called journal and distrib.

journal looks like this (condensed)
          Table "journal"  Attribute          |  Type      | Modifier
----------------+---------+----------objectid               | integer   |posting_date      | char(4)  |gl_update_flag
|char(1)  |
 

And distrib look like this (condensed)
           Table "distrib"   Attribute           |  Type     | Modifier
------------------+---------+----------objectid                 | integer  |distrib_objectid   | integer
|source_objectid  | integer  |
 

The dataset for each is as follows

journal:
test=# select * from journal;objectid | posting_date | gl_update_flag
----------+--------------+----------------     100    | March 31       | H     101    | March 31       | H     102    |
April02         | Y     103    | April 02         | H     104    | March 14       | H     105    | February 01  | H
106   | February 01  | H
 
(7 rows)

distrib:
test=# select * from distrib;objectid | distrib_objectid | source_objectid
----------+------------------+-----------------       1      |                        103 |             100       2
|                        104 |             100       3      |                        101 |             102       4
|                       101 |             105
 
(4 rows)

Now the trick here is...

I want to update the gl_update_flag in journal to Y all of the records
where the gl_update_flag is H now and the posting date is before or on
March 31 and where the objectid from journal matches either the
distrib_objectid or the source_objectid from the distrib table we need
to also update the opposite journal entry to Y as well.  And can this be
done in one command?

An example from the above data set would be  Journal objectid 100 would
change and so would 103 and 104.
And Journal objectid 101 would update 101 and 102 and 105.
And Journal objectid 106 would only update 106.

Any Ideas?

Thanks in Advance,
Steve




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

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: Alter Table problems
Следующее
От: Anuradha Ratnaweera
Дата:
Сообщение: order of multiple assignments in UPDATE