Fake table name?
I know I've seen this but can't even begin to guess where that was so I'll
ask. I need to add a fake entry to a UNION. A row that doesn't exist in
the table and shouldn't. It's for a CGI script where I want the user have
the all/none/whatever option.
select tbl_key, equipname from equipment
UNION
select 'All', 'All Equipment' from ???
Heck I can't even remember what is was called in Oracle.
TIA,
Rod
--
Roderick A. Anderson
raanders@altoplanos.net Altoplanos Information Systems, Inc.
Voice: 208.765.6149 212 S. 11th Street, Suite 5
FAX: 208.664.5299 Coeur d'Alene, ID 83814
"Roderick A. Anderson" <raanders@altoplanos.net> writes:
select tbl_key, equipname from equipment
UNION
select 'All', 'All Equipment' from ???
Postgres has a cleaner answer than a fake table; just omit the
FROM clause:
regression=# create table equipment(tbl_key text, equipname text);
CREATE
regression=# select tbl_key, equipname from equipment
regression-# UNION
regression-# select 'All', 'All Equipment';
tbl_key | equipname
---------+---------------
All | All Equipment
(1 row)
In some cases you might need to explicitly assign a datatype to the
literals, eg 'All'::text, but in the above example it should work
without that.
regards, tom lane
On Tue, 3 Oct 2000, Tom Lane wrote:
"Roderick A. Anderson" <raanders@altoplanos.net> writes:
select tbl_key, equipname from equipment
UNION
select 'All', 'All Equipment' from ???Postgres has a cleaner answer than a fake table; just omit the
FROM clause:
As I discovered by RTFM.
Thanks for the confirmation.
Rod
--
Roderick A. Anderson
raanders@altoplanos.net Altoplanos Information Systems, Inc.
Voice: 208.765.6149 212 S. 11th Street, Suite 5
FAX: 208.664.5299 Coeur d'Alene, ID 83814
"RAA" == Roderick A Anderson <raanders@altoplanos.net> writes:
RAA> I know I've seen this but can't even begin to guess where that was so I'll
RAA> ask. I need to add a fake entry to a UNION. A row that doesn't exist in
RAA> the table and shouldn't. It's for a CGI script where I want the user have
RAA> the all/none/whatever option.
RAA> select tbl_key, equipname from equipment
RAA> UNION
RAA> select 'All', 'All Equipment' from ???
RAA> Heck I can't even remember what is was called in Oracle.
I guess answer is (assume tbl_key is varchar(20), and equipname is text type):
select tbl_key, equipname from equipment
UNION
select 'All'::varchar as tbl_key , 'All Equipment'::text as equipname;
You don't need 'from' clause in PostgreSQL in this case.
--
Anatoly K. Lasareff Email: tolik@aaanet.ru
Import Notes
Reply to msg id not found: RoderickA.Anderson'smessageofMon2Oct2000140546-0700PDT