1
我一直在寻找不同选项(PIVOT,CROSS JOIN等)的小时数,以将未知数量的行转换为SQL数量未知的列服务器2008年,我比以前更迷路了。将未知行数转换为未知列数的查询
基本上我有3个表:
角色
|id| name|
| 1|role1|
| 2|role2|
| 3|role3|
行动
|id| name |
| 1|action1|
| 2|action2|
| 3|action3|
RoleAction
|roleId| actionId|
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 3 | 2 |
反正是有建立一个查询或SP将变换LEFT JOIN
的结果,一个不错的“转动”表是这样的:对你有所帮助
|actionId|actionName|role1|role2|role3|.....|role n|
| 1 | action1 | 1 | 1 | 0 |.....| 0 |
| 2 | action2 | 1 | 0 | 1 |.....| 0 |
| 3 | action3 | 0 | 0 | 0 |.....| 0 |
| . | . | . | . | . |.....| . |
| . | . | . | . | . |.....| . |
| n | action n | 0 | 0 | 0 |.....| 0 |
很多很多的感谢!
在本网站中搜索“动态数据透视” - 您在此之后的模式已经多次解决。 –
@AaronBertrand非常感谢,我已经设法做到了。这只是知道它被称为的一个问题。我很喜欢“动态支点”! – Johann