我有一个查询问题,我正在执行一个对事件数据库进行搜索的查询。目的是关于运动,结构是:
id_event event_sport event_city
1 10 153
2 12 270
3 09 135
桌上运动是这样的:
sport_id sport_name
1 Basketball
表城市是:
city_id city_name
1 NYC
所以事情变得复杂了,因为我的事件表是这样的:
id_event event_sport event_city
1 10,12 153,270
2 7,14 135,271
3 8,12 143,80
我有一个多输入搜索表单,这样人们就可以搜索他们所在城市的多项运动或多个城市的赛事。我正在使用选择
Chosen 的搜索结果是,例如:
City = 153,270 (if user selected more than one city)
Sport = 12 (if user only selected one sport, can be "9,15")
所以我需要在同一列中搜索城市和体育的多个值,用逗号分隔,知道有时我们只能搜索一个值,如果用户没有输入多个值。
我目前的查询是:
SELECT * FROM events e
LEFT JOIN cities c ON e.event_city=c.city_id
LEFT JOIN sports s ON e.event_sport=s.sport_id
WHERE FIND_IN_SET('1CITY', e.event_city) AND FIND_IN_SET('1SPORT', e.event_sport)
;
搜索一个城市哪个好,但如果用户搜索两个或更多,我没有办法显示它。
你能帮我么?
提前致谢。