search from multiple tables using single keyword in mysql [duplicate]

故事扮演 提交于 2019-12-01 21:02:59

Assuming eid is a foreign key to uid, then something like this should work:

select u.uid, f.fname, l.lname
from users u
  inner join firstname f on u.uid = f.eid
  inner join lastname l on u.uid = l.eid
where f.fname like '%will%' or
  l.lname like '%will%'

If you also need to search the uname field, then add that to your where criteria with another or statement.

Results:

UID FNAME     LNAME
1   John      Williams
3   Williams  Smith
    SELECT uid, uname, fname, lname
    FROM Users
    INNER JOIN firstname
      ON firstname.eid = users.uid
    INNER JOIN lastname
      ON lastname.eid = users.uid
    WHERE uname LIKE '%will%'
      OR fname LIKE '%will%'
      OR lname LIKE '%will%'
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!