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