我正在使用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