2012-01-31 32 views
12

我拥有包含少量位域的权限的表。我想在此表中对行进行分组,并获得具有最高权限的结果。 所以用这个表:MAX运算符在位域上的替代方案

UserId, Permisssion1,Permission2, Permisssion3 

有了这行
13,1,0,0
13,0,1,0

我想:
13,1, 1,0

问题是运算符MAX不能在位域上工作。如何以有效的方式做到这一点? (不使用CASE)

回答

42

就这么简单......

MAX(CAST(Permisssion1 AS tinyint)) 

您没有很多其他选择......