简单的MySQL两表查询

时间:2017-11-17 12:01:16

标签: php mysql

我有两张桌子

1st table :-

id name dept
1  John dept1
2  Mary dept2
3  Dave dept3
4  John dept4
5  John dept5


2nd table :-

id submitter dept
1  Rupert    dept3
2  Joe       dept1
3  Lisa      dept2
4  Louise    dept4
5  Tom       dept5

我想要的是一个查询,允许第一个表中name列中的人只显示基于匹配部门的记录,例如表1中的John将返回表2中的3个记录(id 2,4和5) )

到目前为止,我已尝试SELECT * FROM table1, table2 WHERE table1.dept = table2.dept AND table1.name='John'

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您需要使用字段dept在两个表之间建立连接,并在第一个表中按请求者的名称过滤结果。

SELECT t2.submitter, t2.dept
FROM table1 t1
LEFT JOIN table2 t2 ON t1.dept = t2.dept
WHERE t1.name = :person_name

Documentation and examples(你也可以看一下Inner,right,full和self join的左侧菜单)。