Fake table name?

Started by Roderick A. Andersonover 25 years ago4 messagesgeneral
Jump to latest
#1Roderick A. Anderson
raanders@altoplanos.net

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Roderick A. Anderson (#1)
Re: Fake table name?

"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

#3Roderick A. Anderson
raanders@altoplanos.net
In reply to: Tom Lane (#2)
Re: Fake table name?

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

#4Anatoly K. Lasareff
tolik@aaanet.ru
In reply to: Roderick A. Anderson (#1)
Re: Fake table name?

"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