2 回答

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
這是處理您的要求的規(guī)范方法:
SELECT recipe_id
FROM recipe_categories
WHERE sub_category_id IN (3, 5)
GROUP BY recipe_id
HAVING COUNT(DISTINCT sub_category_id) = 2;
您可能需要做一些額外的工作才能使用準(zhǔn)備好的語句從 PHP 中實(shí)現(xiàn)這一點(diǎn)。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以通過計(jì)算匹配數(shù)sub_category_id(FIND_IN_SET用于查找它們)并將其與字符串中的值數(shù)(可以通過減去從原始長度中刪除逗號(hào)的長度):
SELECT recipe_id
FROM recipe_categories
WHERE FIND_IN_SET(sub_category_id, '2,3,5')
GROUP BY recipe_id
HAVING COUNT(DISTINCT sub_category_id) = LENGTH('2,3,5') - LENGTH(REPLACE('2,3,5', ',', '')) + 1
輸出(用于您的樣本數(shù)據(jù))
recipe_id
1
- 2 回答
- 0 關(guān)注
- 171 瀏覽
添加回答
舉報(bào)