我代表SQL中的項目集(SQLite,如果相關)。我的表是這樣的:如何查找是否存在無序項目集
ITEMS表:
| 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 |
正如你所看到的,一個套裝可以包含多個項目,並這個關係在Itemset2Items表中詳細說明。
我該如何檢查一個新的項目集是否已經在表中,如果有,找到它的ID?
例如,我想檢查「人蔘,大蒜,蜂蜜」是否是現有的項目集。所需的答案是「是」,因爲存在一個單一的ItemsetId,其中包含,這三個ID完全是。請注意,該集合是無序的:對「蜂蜜,大蒜,人蔘」的查詢應具有相同的行爲。
我該怎麼做?
Itemsets只是集合的名稱。除了愚蠢的名字,我沒有看到一個特殊的問題。 – 2012-07-29 12:02:24
我猜你將不得不使用動態SQL(假設你的參數是動態的) – Kane 2012-07-29 12:11:30