我有這樣一個時刻,當某事似乎很簡單,但我似乎無法找到正確的查詢。我正在尋找一個查詢來檢查某個多對多關係是否已經存在。考慮下表:查詢以檢查是否存在多對多關係
+---------+---------+ | feed_id | coll_id | +---------+---------+ | 1 | 1 | | 1 | 2 | | 1 | 3 | +---------+---------+
這是表'feeds'和表'collections'之間的多對多關係表。
我需要一個查詢來檢查一個提要是否已經存在,其中包含集合1和2,並且只有1和2.如果有,我需要它的feed_id。
在上表中,此提要不存在。
該查詢的更一般描述是:查找包含所有coll_id的供稿,並且供稿不包含任何其他集合。這將意味着用於上面的例子如下:
- 確保coll_id是IN(1,2)
- 確保一個COUNT(*)WHERE FEED_ID = 1將返回2(coll_id的數量)
步驟2中有什麼問題是我的子查詢中沒有可用的feed_id的值。
還是我完全在錯誤的軌道上?
任何幫助將不勝感激!
這樣做的問題是,我不知道FEED_ID。我用IN(1,2)查詢這個表,並且它應該返回0行,因爲我正在尋找一個feed,其中'coll_id'爲1和2.不應該返回Feed_id 1,因爲它也有coll_id = 3。如果我使用IN(1,2,3)執行相同的查詢,那麼它應該返回feed_id 1. – wkjagt 2010-11-26 04:23:24
等待,您是否需要_all_只有coll 1和2的`feed_id`的列表? – cambraca 2010-11-26 04:25:14