Re: VIEW AS SELECT -vs- INSERT INTO table query

Поиск
Список
Период
Сортировка
От Greg Sabino Mullane
Тема Re: VIEW AS SELECT -vs- INSERT INTO table query
Дата
Msg-id 9d5304b71c9d961bb52eec13abc82047@biglumber.com
обсуждение исходный текст
Ответ на VIEW AS SELECT -vs- INSERT INTO table query  (Frank Bax <fbax@sympatico.ca>)
Список pgsql-novice
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> I have a table of items with about 50 columns, one of which is 'owner'.  I
> would like to run several queries where the items for several 'owners' are
> to be treated as one owner.  I have considered several options, but they
> all have problems:
>
> 1) Create a view.
>        CREATE VIEW itemcombo AS SELECT 'Combined', [columns] FROM items WHERE
> owner IN (...);
> where [columns] is everything *except* owner?  Is there a syntax for this
> command that would avoid typing all 50 columns? If I add a new column to
> underlying table, then view needs to be replaced?  Is it possible to create
> this view in such a way that it could handle "normal" queries of the
> underlying table as well (where owner <> 'Combined')?

No, yes, and not easily (see below)

> 2) Create a new owner 'Combined' and use "INSERT INTO table query" to

Too much trouble.

> 3) Push the problem to user code.  Every query contains "WHERE owner IN
> (...)" instead of "WHERE owner='Combined'".

This is probably the best place to put this, as all your are really asking for
is a subset of data in the table, and this seems like a perfect candidate for
the IN clause. Unless there is a particular reason not to use this approach,
go with it.

There are some other approaches, such as creating groups of owners, but we'd
have to know more about your system first to determine if it would be
overkill. Try the IN first.

- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200511121831
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iD8DBQFDdnvWvJuQZxSWSsgRAlQ/AJsHkOYEMPIDxrNI5Hd/vCY/TLFy3gCfVV9X
0x+L9wgjG9PSqnPHiVOTFsg=
=EGlI
-----END PGP SIGNATURE-----



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

Предыдущее
От: Daniel Staal
Дата:
Сообщение: Re: Application using PostgreSQL as a back end
Следующее
От: Sebastian Scarano
Дата:
Сообщение: connecting to linux server from windows xp