Обсуждение: User/Groups

Поиск
Список
Период
Сортировка

User/Groups

От
Michael Fork
Дата:
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



Re: User/Groups

От
"tjk@tksoft.com"
Дата:
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
>
>

Re: User/Groups

От
Peter Eisentraut
Дата:
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



Re: User/Groups

От
Karel Zak
Дата:
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* ----------------*/