Mysql 如何在sql中联接表?
我有两个mysql表 表A:Mysql 如何在sql中联接表?,mysql,Mysql,我有两个mysql表 表A: id teachername schoolname 1 Alfreds Futterkiste abc4 2 Blauer See Delikatessen abc1 3 Maria Anders abc5 4 Thomas Hardy abc2 5 Elizabeth Lincoln
id teachername schoolname
1 Alfreds Futterkiste abc4
2 Blauer See Delikatessen abc1
3 Maria Anders abc5
4 Thomas Hardy abc2
5 Elizabeth Lincoln abc1
6 Victoria Ashworth abc4
7 Patricio Simpson abc3
8 Howard Snyder abc5
9 Yang Wang abc2
10 Janine Labrune abc3
表B:
id schoolname branch city
1 abc1 xyz5 new york
2 abc2 xyz4 london
3 abc3 xyz3 sydney
4 abc4 xyz1 new york
5 abc1 xyz2 new york
6 abc2 xyz5 sydney
7 abc3 xyz4 londonk
8 abc5 xyz1 london
9 abc4 xyz2 london
10 abc5 xyz3 sydney
我想根据表B中的学校名称访问表A中的教师名称
基于用户输入查询xyz4伦敦
如果用户搜索xyz4 london,则检查表B中的学校名称
如果存在Scool名称,则根据学校名称从表A返回教师名称
我正在尝试的是:尝试从用户输入查询xyz4 london的表B中获取学校名称
我只需要一个查询返回基于表B学校名称的教师姓名
欢迎提出任何想法或建议。您可以搜索字段的串联
SELECT schoolname FROM table_B WHERE branch || ' ' || city LIKE '%xyz4 london%';
或者你可以反向搜索
SELECT schoolname FROM table_B WHERE 'xyz4' like '%' || branch || '%' OR 'london' like '%' || city || '%' ;
但是最简单的方法是将您的输入一分为二,并独立地查询这两个字段谢谢您的快速回复。我没有得到你所建议的,将你的输入一分为二,并独立地查询这两个字段。请解释一下,如果你可以如何划分输入查询?感谢您可以使用两个输入框而不是1,或者在空格上拆分输入。这可以在查询数据库之前完成
SELECT schoolname FROM table_B WHERE 'xyz4' like '%' || branch || '%' OR 'london' like '%' || city || '%' ;