Hi all,

Can you use (or work around towards) a union in a subquery?

I have :-

Members
mid int4;
mnec bool; -- many NEC members

Positions (one position = one holder - excludes  NEC)
posn    char(4);
pholder int4; -- refers to mid

Actions
caction  char(4) -- e.g. UPDT = update team
cposn   char(4) -- refers to posn
clevle  int4 -- increasing permission level

select 'NEC'  as posn from members where mid = 81 and mnec = true;
 posn
------
 NEC
(1 row)

select posn from positions where pholder = 81;
 posn
------
 MSEC
 ITA
 REG
(3 rows)

select posn from positions where pholder = 81 union select 'NEC' as posn from 
members where mnec = true and mid = 81;
 posn
------
 ITA
 MSEC
 NEC
 REG
(4 rows)

So far so good.
select * from actions where cposn in (select posn from positions where 
pholder = 81);
 caction | cposn | clevel
---------+-------+--------
 ENQT    | REG   |      2
 ENQM    | REG   |      2
 AMET    | REG   |      2
 AMET    | ITA   |      3

Still works - looking good

select * from actions where cposn in (select posn from positions where pholder
= 81 union select 'NEC' as posn from members where mnec = true and mid = 81);

gives me:

ERROR:  parser: parse error at or near "union" 

-- 
Gary Stainburn
 
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl

Reply via email to