简单的 MySQL 两表查询 [重复]
Posted
技术标签:
【中文标题】简单的 MySQL 两表查询 [重复]【英文标题】:Simple MySQL Two Table Query [duplicate] 【发布时间】:2018-05-01 04:54:39 【问题描述】:我有两张桌子
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'
【问题讨论】:
这是我卡住的地方 - 到目前为止,我已经尝试 SELECT * FROM table1, table2 WHERE table1.dept = table2.dept AND table1.name='John' 你需要查看JOIN的 谢谢 JemoeE 现在可以阅读 :) 查询结果有什么问题? 您有许多未解决的问题(恕我直言)以及可能的解决方案;它们应该被标记为已解决,以便正确关闭这些问题,包括这个问题。 【参考方案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's 中查看左侧菜单)。
【讨论】:
以上是关于简单的 MySQL 两表查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例