Обсуждение: 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