1
我繼承了需要清理的用戶數據。它最初是在MS Access數據庫中,我需要將其轉換爲SQL Server。我現在在SQL Server中有表,但是有一列我需要幫助的數據。將按位數據轉換爲多列
有很多列,如名稱,電子郵件等,這些都是非常簡單的。
但是,有一列存儲按位數據。此列將顯示用戶可以屬於的組。在用戶欄
All 1
Air 2
Plants 4
Energy 8
Land 16
Elec 32
Fire 64
Water 128
Cloud 256
Soil 512
Waste 1024
Local 2048
Coast 4096
的數據可能是2,他們屬於中航集團,或者它可能是一個6:通過了多項紀錄會我已經確定了這些團體和他們的相關數字是當他們屬於空氣和植物(2 + 4)。
我創建了一個包含用戶ID字段的表。
User_ID
All
Air
Plants
Energy
Land
Elec
Fire
Water
Cloud
Soil
Waste
Local
Coast
所以我需要通過舊錶進行迭代,然後在新表中的列插入對應的真實的值,因此
因此,如果數據是:
User_ID Name Group
1 Jo Smith 2
2 Carl White 8
我最終會以
User_ID All Air Plants Energy ....
1 true
2 true
等等。
然而,因爲用戶可以屬於多個組數據看上去更像是這樣的:
Jake C 1552
Jeff H 1556
Cath B 1561
Emma B 1564
Alex G 1572
Alan H 1574
Jo L 1596
Roy A 1600
如何着手建立我的新表?我曾經想過沿線
SELECT * FROM [dbo].[Users] where [Group] & 2 != 0
將開始帶回我需要的數據,但我不確定這是否是正確的軌道。
編輯:我願意利用外部代碼,如果這是需要什麼 - 不一定要與SQL命令來完成/查詢
哇。謝謝! –
是否可以添加一列所選組的數量;所以如果卡爾有空氣和植物,數量是2? –
@MhluziBhaka,見編輯答案 –