我有一个像这样的 MySQL 表
restaurant_id restaurant_name restaurant_serving_cuisines
1 Vasantha Bhavan 4,5,6
3 Little India 7,5,6
5 Mohan Restaurants 16,2,4,1,5,3,6
6 Sri Restaurant 34,16,21,2,23,38,30,7,25,9
13 The Taco Shop 5
22 KFC 15
37 belargio 14,15,16,2,7,4,1,5,17,12,3,13,6
56 Pizza Hot 5
我需要找到供应菜系 ID 为 5 和 15 的餐厅。 我需要以 belargio 的身份获得餐厅。
我正在写查询
SELECT restaurant_id, restaurant_name,restaurant_serving_cuisines
FROM `rt_restaurant`
WHERE restaurant_serving_cuisines REGEXP concat_ws("|", "5", "15");
但我无法得到准确的结果。
最佳答案
如何使用 FIND_IN_SET
SELECT restaurant_id, restaurant_name,restaurant_serving_cuisines
FROM `rt_restaurant`
WHERE find_in_set(5, restaurant_serving_cuisines) > 0
and find_in_set(15, restaurant_serving_cuisines) > 0
关于使用正则表达式的 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244339/