вывод объединеного результата в группе

clevel

Новичок
вывод объединеного результата в группе

есть таблица с правами юзеров:
groupid(int)|pageid(int)|rights(int)
rights - содержит целое число, которое я потом конверчу в бинарное для определения набора прав, которые имеет группа на данную страницу.
дано: юзер может одновременно входит в состав нескольких групп, соотсветсвенно, для определения всех прав на странице надо: выбрать все rights, где groupid IN(1,2,3) AND pageid=1 (например). При этом rights должен содержать логическое объединение бинарных значений rights всех групп.
Пример(длину бинарика доводим до 4-х символов):
group 1 - rights 1 - binary - 0001
group 2 - rights 3 - binary - 0011
group 3 - rights 5 - binary - 0101
В результате хочется получить: 0111.
Вопрос: какой должен быть запрос в муську? ума не приложу... помогите, плз...
 

.des.

Поставил пиво кому надо ;-)
PHP:
SELECT BIT_OR(rights)
FROM table 
WHERE groupid IN (1,2,3) AND pageid=1
 
Сверху