0
我有GROUPs
和USERs
。 GROUPs
可以包含USERs
和其他GROUPs
。如何获取群组成员名单
数据存储在一个表中,如下所示NODES
,其中PARENT_NDE_ID
是组/用户包含的父级。用户始终拥有一个是组的ID的父代。如果该组没有父节点,则父节点ID和组ID相等。
NODES
-----
NDE_ID (int)
PARENT_NDE_ID (int)
DESCRIPTION (string, any name)
NDE_TYPE (string, either 'USER' or 'GROUP')
我的问题是,我想获得一个组的成员名单。
我想生产两种:
GROUP NAME | MEMBER NAME
---
Group A | Group B
Group A | Bob
Group B | Dave
Group C | Mike
或者接受组名,给我的成员名单,我可以每个组的名称手动运行,像构建查询:
select NODES.DESCRIPTION, NODES.NDE_TYPE
where PARENT_NDE_ID = (the id associated with the provided group name string)
任何帮助大大apprecaited!
你在什么平台/ sql dielect?或者它必须是独立的? (在Sql Server的情况下,查找的标签是'递归公用表表达式')乍一看 – KekuSemau
@KekuSemau它是一个Oracle分贝。希望这可以帮助!除了基本的select,insert,update语句之外,我并不是一个SQL人员。 –
这是一个复杂的SQL语句。它需要递归确定组成员资格。在Oracle中,您使用'CONNECT BY'关键字来完成此操作。但是,我没有足够的使用它来编写SQL。 –