我正在使用SQL Server 2008r2。如何基於SQL Server中的標誌創建連續的行值字符串
這裏就是我試圖完成:
我有設計的表:
Flag Text
________________________
0 'No Error'
1 'Bad Data'
2 'Bad Header'
4 'Unknown error'
我的第二個表的設計:
ID Flags
_______________________
500 0
501 3
502 4
504 6
550 0
旗幟在第二表格代表第一個表格中標誌的按位組合(例如標誌= 3是'壞數據'和'壞標頭',標誌= 6是'壞標題'和'未知錯誤')。
我想,這將產生以下的查詢:
ID ConcatText
____________________________
500 'No Error'
501 'Bad Data, Bad Header'
502 'Unknown error'
504 'Bad Header, Unknown error'
550 'No Error'
什麼是實現這一目標而無需使用用戶定義的函數,或用戶定義的存儲過程的最佳方式?
感謝您的任何幫助。
是否有原因使用按位操作而不是創建真正的映射表(501 | 1和501 | 2而不是501 | 3)。這通常會產生更大的可維護性問題。此外,它可能會增加不必要的複雜性,因爲您正在運行。 – 2012-03-20 04:30:56
有兩個原因。首先,這是我得到處理的,其次,我很好奇這是如何最好地完成的。謝謝。 – Sako73 2012-03-20 04:39:32