【发布时间】:2015-05-13 15:01:58
【问题描述】:
我正在尝试提取报告以突出显示我的系统中有哪些用户及其访问级别以及组成员身份。
用户位于名为 users /
的表中组位于名为组的表中/组使用用户的员工代码链接到用户
角色位于名为 roles 的表中/角色使用用户的 pkey 链接到用户
一个用户可以是多个组的成员并具有多个角色,我的目标是让一个 SQL 查询在一个表中返回它,其中我的列将是我的组和角色,而行将是用户。理想情况下,当用户是组的成员或分配了角色时,我想用 X 填充列
到目前为止,我已经使用 UNION 和几个关节处理语句,但是当用户是组的一部分或分配了角色时,我无法将其放入表中并用 x 填充。
非常感谢任何帮助!
【问题讨论】:
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?还请将表定义添加为
create table语句,包括一些示例数据和基于该数据的预期输出(理想情况下创建一点sqlfiddle.com) -
在应用程序/报告层中动态定义列比在 SQL 中容易得多。一些 SQL 系统具有“枢轴”功能,但它们通常不是动态的(您必须指定列),除非您使用动态 SQL。
标签: sql sql-server sql-server-2008