私はSQLでアイテムセットを表現しています(該当する場合はSQLite)。私のテーブルは次のようになります。
アイテムテーブル:
| ItemId | Name |
| 1 | Ginseng |
| 2 | Honey |
| 3 | Garlic |
アイテムセット:
| ItemSetId | Name |
| ... | ... |
| 7 | GinsengHoney |
| 8 | HoneyGarlicGinseng |
| 9 | Garlic |
ITEMSETS2ITEMS
| ItemsetId | ItemId |
| ... | .... |
| 7 | 1 |
| 7 | 2 |
| 8 | 2 |
| 8 | 1 |
| 8 | 3 |
ご覧のとおり、Itemsetには複数のItemが含まれている場合があり、この関係はItemset2Itemsテーブルで詳しく説明されています。
新しいアイテムセットがすでにテーブルにあるかどうかを確認し、ある場合はそのIDを見つけるにはどうすればよいですか?
たとえば、「高麗人参、にんにく、はちみつ」が既存のアイテムセットであるかどうかを確認したいと思います。これらの3つのIDを正確に含む単一のItemsetIdが存在するため、望ましい答えは「はい」になります。セットは順序付けられていないことに注意してください。「Honey、Garlic、Ginseng」のクエリは同じように動作するはずです。
これどうやってするの?