次のデータをクエリしようとすると問題が発生します。
id. | name | type
1. bob | a
2. sam | ab
3. jim | abc
4. sarah | ad
5. john | a
6. eve | bca
7. nikki | ca
次の入力に基づいて MySQL クエリを作成しようとしています。
a,
ac,
b*,
ac*
次の名前を返したい:
bob
john
sam
jim
eve
nikki
壊す:
a = bob, john
ac = nikki
b* = sam, jim, eve
ac*= jim, eve, nikki
説明:
a = find results that are JUST a
ac = find results that contain ONLY an a AND c
b* = find results which contains a b
ac* find results that contain at least an a and a c
ご覧のとおり、タイプ列にはさまざまな順序でタイプ情報を含めることができます (常に増加するとは限りません)。
type_a
これは、タイプ列をtype_b
などに分割してから、それぞれに a を入れることで実行できると確信していbool
ます。しかし、これは最大になる可能性がz
あり、テーブルに26の余分な列は必要ありません!
これは単一のクエリで実行できますか?もしそうなら、助けていただければ幸いです!
なんてタイトルか分からないタイトルでごめんなさい