各テーブルにビットマスク列挙型を保持するために使用するフィールドがある場合、sqliteテーブルがあります。
すべての結果を返し、すべての列挙型を1つのフィールドにグループ化するクエリを実行したいと思います。
サービス:TEXT名、INTEGERサービス、INTEGERマスク
SELECT service,XXX FROM Services GROUP BY service
基本的に、XXXは、そのサービスごとのすべてのマスクのビットマスクOR(|)の結果になります。
データ:
'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)
ありがとう
編集: 私の元の質問では、各マスクが単一のビットではなく、複数のビットのマスクである可能性があることを言及するのを忘れました(それを反映するために2番目の例を変更しました)。