【发布时间】:2012-01-30 08:56:53
【问题描述】:
我有以下表格:
UserPrivileges:
+--------+------+------+------+
| UserID | Col1 | Col2 | Col3 |
+--------+------+------+------+
| 1 | 0 | 1 | 1 |
| 2 | 0 | 0 | 1 |
| 3 | 1 | 0 | 0 |
| 4 | 1 | 1 | 0 |
+--------+------+------+------+
Data:
+--------+------+------+------+
| DataID | Col1 | Col2 | Col3 |
+--------+------+------+------+
| 1 | A | B | C |
| 2 | D | E | F |
| 3 | G | H | I |
| 4 | J | K | L |
+--------+------+------+------+
我的问题最简单的形式与Data 表没有任何关系,但无论如何我只是解释一下,以免我做错了。
如何根据值从 UserPrivileges 中选择列名?这样我就可以在另一个查询中使用结果来仅选择那些列。
类似的东西:
SELECT (COLUMNS_NAME_QUERY_FROM_UserPrivileges(UserID='#')) WHERE DataID = '#' FROM Data
或者我不介意管理特定列的用户权限的更好方法。
【问题讨论】: