【发布时间】:2019-05-31 00:57:11
【问题描述】:
我有一个具有以下结构的表“任务”
[TaskId],[CompanyId], [Year], [Month], [Value]
220,1,2018,1,50553.32
220,2,2018,2,222038.12
还有另一个表,其中用户有权访问名为“UsersCopmpanies”的表中的特定公司
[UserId], [CompanyId]
1,1
问题是任务号。 220 在公司之间转移。 1 月份的任务属于 copmanyId=1,而 2 月份这个任务属于 copmanyId = 2。
根据表“UsersCopmpanies”,用户没有 compnayid = 2 的权限。
我需要做的是从表“任务”期望字段值中获取两行,因为用户没有权限。 预期结果应该是:
[TaskId], [CompanyId], [Year], [Month],[Value]
220,1,2018,1,50553.32
220,2,2018,2,(NULL or somenthing else for.example string 'lack of permission')
【问题讨论】:
-
您是否考虑过保留历史记录表,以便用户仍然可以访问一些以前可能与他们相关的信息?这并不意味着他们将能够访问当前数据,但这意味着他们仍然可以看到在他们离开的状态下不再分配的东西。
-
旁白:在您的问题中使用分类数据类型让我们猜测,但有一列具有多种数据类型,例如
money或varchar(42)取决于另一个表中的值,不会顺利进行。
标签: sql sql-server database tsql sql-server-2008