如果以前有人問過這個問題,但我真的不知道要搜索什麼,所以不確定如何在問題標題中加上字,以便手指交叉。選擇依賴於表格中其他行的行
我正在構建一個相當普遍的系統,其中一個產品可以有多個類別,在前端,用戶可以搜索指定多個類別的產品。
假設我們有以下的架構和數據(我不能發表圖片呢,道歉,請參閱鏈接) -
表名:product_categories
數據:
產品表非常標準 - 編號,名稱,數量等
所以產品1有2個類別。
如果用戶在搜索頁面上選中代表類別2和3的2個複選框,我將如何查詢,以便只有具有這兩個類別的產品才能返回?
一些諸如如下不起作用,因爲在沒有人行其中有2類別ID和3類別ID:
SELECT * from product_categories where `category_id` = 2 AND `category_id` = 3;
我已經嘗試使用其中藏漢,但是,即使我正在尋找具有類別id 2和6(例如)的產品,我也不想要這樣的產品。
這是一個更大的查詢的一部分,但是,如果我設法找到一個,我將能夠應用該解決方案。
非常感謝您的建議傢伙,大加讚賞。我認爲找到了一個解決方案,這似乎產生了預期的結果,但我會寫我的方法,以確保它的工作更多的單元測試。 我發現的解決方案如下: SELECT * FROM products_categories其中CATEGORY_ID在(2,3),其具有計數(不同(ID))= 2 所以這使用WHERE IN,然而,當使用具有,則它檢查返回唯一記錄的計數,並確保它等於提供的類別數量。 歡呼聲, Darren * PS:不確定如何指定MySQL語法高亮顯示,道歉* –