我想在我的网站中加入搜索功能。
我想允许根据用户名,城市,学院/学校名称,雇主进行搜索。 名称是必填项,其他名称是可选字段。 我有以下表格
users(id,fname,lname,city)
profile_pic(id,pic,userid)//userid from users(id)
educationdetail(eduid,school,userid)//userid from users(id)
employment(empid.employeer,userid)//userid from users(id)
每个用户在profile_pic中的只有一张图片; 在educationdetail用户可以添加多个学院学院的详细信息 在就业用户可以添加多个工作细节
用于搜索目的我正在使用以下查询:
SELECT distinct s.id, s.fname, s.lname,pr.pic
FROM users as s LEFT JOIN profile_pic as pr
on s.id = pr.userid
LEFT JOIN educationdetail as edu
on s.id=edu.userid
LEFT JOIN employment as emp
on s.id=emp.userid
where s.fname like '%m%' and s.lname like '%%%' and s.city like '%%%'
正在提供适当的详细信息
但是当包含少量参数时,它没有显示任何结果
SELECT distinct s.id, s.fname, s.lname,pr.pic
FROM users as s LEFT JOIN profile_pic as pr
on s.id = pr.userid
LEFT JOIN educationdetail as edu
on s.id=edu.userid
LEFT JOIN employment as emp
on s.id=emp.userid
where s.fname like '%m%' and s.lname like '%%%' and s.city like '%%%'
and edu.school='%%%' and emp.employeer='%%%';
表示
Empty set (0.00 sec)
答案 0 :(得分:0)
也许您可以使用OR
,然后在搜索模式时使用LIKE
而不是=
and edu.school LIKE '%' and emp.employeer LIKE '%';
更新1
它不返回任何值的原因是因为查询正在字段%%%
中搜索不存在的edu.school
值。
答案 1 :(得分:0)