私は(少なくとも私にとっては)複雑なSQLクエリを作成しようとしていますが、どこから始めればよいのか本当にわかりません。
基本的に、私はキャラクターオブジェクトを持っており、各キャラクターはいくつかの部分で構成することができます。例えば:
指標表:
id | character
--------------
1 | 你
2 | 是
3 | 有
character_partsテーブル:
id | character_id | part_id
---------------------------
1 | 1 | 4
2 | 1 | 9
3 | 1 | 5
4 | 2 | 2
5 | 2 | 34
6 | 2 | 43
7 | 3 | 21
8 | 3 | 16
9 | 3 | 41
10 | 3 | 43
だから私はそれを知っています:
Character 1 is made of parts 4, 9, 5
Character 2 is made of parts 2, 34, 43
Character 3 is made of parts 21, 16, 41, 43
ここで、指定した部分で終わるすべての文字を選択します。
たとえば、「16、41、43」で終わるすべての文字を選択すると、文字3が表示されます。「43」で終わるすべての文字を選択すると、文字3と4が表示されます。
サブクエリを使用してクエリを作成する必要があると思いますが、どのように開始するか、またはそれを実行できるかどうかはわかりません。これまでのところ、必要なパーツIDを含むすべてを選択し、プログラムで比較を行っていますが、必要以上に選択しているため、これは遅すぎます。
なにか提案を?