Thread: User/Groups
I am trying to populate a select box on a form with all users in the group with the sysid of 1 using the following query: SELECT usename FROM pg_user, pg_group WHERE pg_user.usesysid IN pg_group.grolist AND pg_group.grosysid = 1; however, everytime I run it I recieve the following error: ERROR: parser: parse error at or near "pg_group" which leads me to belive that the IN operator is not correct, is there another one that I should be using? Thanks in advance. Michael Fork - CCNA - MCP - A+ Network Support - Toledo Internet Access - Toledo Ohio
Michael, The IN operator should precede a sub query. E.g. SELECT usename FROM pg_user, pg_group WHERE pg_group.grosysid = 1 and pg_user.usesysid IN (select usesysid from pg_group); This probably doesn't do what you want. The example is just to demonstrate the point. Troy > > I am trying to populate a select box on a form with all users in the group > with the sysid of 1 using the following query: > > SELECT usename FROM pg_user, pg_group WHERE pg_user.usesysid IN > pg_group.grolist AND pg_group.grosysid = 1; > > however, everytime I run it I recieve the following error: > > ERROR: parser: parse error at or near "pg_group" > > which leads me to belive that the IN operator is not correct, is there > another one that I should be using? Thanks in advance. > > Michael Fork - CCNA - MCP - A+ > Network Support - Toledo Internet Access - Toledo Ohio > >
Somewhere in contrib/ there is some array walking code which is what you want. I'm not thoroughly familiar with it, though. On Mon, 3 Apr 2000, Michael Fork wrote: > I am trying to populate a select box on a form with all users in the group > with the sysid of 1 using the following query: > > SELECT usename FROM pg_user, pg_group WHERE pg_user.usesysid IN > pg_group.grolist AND pg_group.grosysid = 1; > > however, everytime I run it I recieve the following error: > > ERROR: parser: parse error at or near "pg_group" > > which leads me to belive that the IN operator is not correct, is there > another one that I should be using? Thanks in advance. -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
On Mon, 3 Apr 2000, Michael Fork wrote: > I am trying to populate a select box on a form with all users in the group > with the sysid of 1 using the following query: > > SELECT usename FROM pg_user, pg_group WHERE pg_user.usesysid IN > pg_group.grolist AND pg_group.grosysid = 1; > > however, everytime I run it I recieve the following error: > > ERROR: parser: parse error at or near "pg_group" > > which leads me to belive that the IN operator is not correct, is there > another one that I should be using? Thanks in advance. In the postgreSQL contrib tree is modul (array_iterator) with operators for arrays. A solution for you: SELECT usename FROM pg_user, pg_group WHERE pg_group.grolist *= pg_user.usesysid AND pg_group.grosysid = 1; Karel /* ----------------* Karel Zak * zakkr@zf.jcu.cz * http://home.zf.jcu.cz/~zakkr/* C, PostgreSQL, PHP, WWW,http://docs.linux.cz* ----------------*/