2012-01-31 22 views
12

Tôi có bảng với các quyền có một vài trường bit. Tôi muốn nhóm các hàng trong bảng này và nhận kết quả với các quyền hàng đầu. Vì vậy, với bảng này:Phương án thay thế cho toán tử MAX trên các trường bit

UserId, Permisssion1,Permission2, Permisssion3 

Với điều này để hàng
13,1,0,0
13,0,1,0

Tôi muốn nhận được:
13,1, 1,0

Vấn đề là toán tử MAX không hoạt động trên các trường bit. Làm thế nào để làm điều đó một cách hiệu quả? (Không sử dụng CASE)

Trả lời

42

Đơn giản như ...

MAX(CAST(Permisssion1 AS tinyint)) 

Bạn không có nhiều lựa chọn khác ...

Các vấn đề liên quan