У меня есть таблица sqlite, когда в каждой таблице есть поле, которое я использую для хранения некоторого перечисления битовой маски.
Я хотел бы выполнить запрос, который вернет мне все результаты и сгруппирует все перечисления в одно поле:
Сервисы: имя TEXT, сервис INTEGER, маска INTEGER
SELECT service,XXX FROM Services GROUP BY service
По сути, я хотел бы, чтобы XXX был результатом битовой маски ИЛИ (|) всех масок для этой службы.
Данные:
'a1',1,1
'a2',1,2,
'a3',1,4,
'a4',1,8,
'b1',2,1,
'b2',2,3,
'b3',2,2
Итак, в результате я хотел бы получить следующие строки:
1,15 (1|2|4|8)
2,3 (1|3|2)
Спасибо
EDIT: В своем первоначальном вопросе я забыл упомянуть, что каждая маска не является одним битом, но может быть маской из нескольких битов (я изменил второй пример, чтобы отразить это).