场景:我需要准备许可矩阵的excel表单文档。在应用程序中共有15个角色和20个模块,使用用户定义的函数来传递roleid和moduleid,我可以获得单个角色的权限详细信息,并且可以复制并粘贴到Excel表单中。将多个结果集合到一个表中
但今后,我会重复同样的任务300次。为了减少工作,我打算将所有角色的权限以模块方式结合起来。所以我只能做20次这个任务。
我试过了什么:我已经创建了一个UDF函数来将逗号分隔的结果从SP拆分为列明智的。同时创建20个变量以表格格式存储每个角色的权限详细信息。
示例数据和表:考虑每个@UDF_Function
存储每个角色的权限详细信息,我想以单个表格格式显示所有结果。
DECLARE @UDF_Function1 TABLE (Details VARCHAR (10));
INSERT INTO @UDF_Function1 (Details)
SELECT 'hidden' UNION ALL SELECT 'edit' UNION ALL SELECT 'edit';
DECLARE @UDF_Function2 TABLE (Details VARCHAR (10));
INSERT INTO @UDF_Function2 (Details)
SELECT 'view' UNION ALL SELECT 'edit' UNION ALL SELECT 'view';
-- SELECT * FROM @UDF_Function1;
-- SELECT * FROM @UDF_Function2;
SELECT F1.Details AS R1, F2.Details AS R2 FROM
(SELECT * FROM @UDF_Function1) F1,
(SELECT * FROM @UDF_Function2) F2;
输出结果不符合我的预期格式,如何才能达到预期的格式,如下所示?
预期结果:
| R1 | R2 |
|---------------------|
| hidden | view |
| edit | edit |
| edit | view |
我的是SQL Server 2012的
返回我期望的结果,谢谢。 – Arulkumar