因此,我正在使用纯SQL(MySQL是我正在使用的DBMS)的外部连接技能。我有四张桌子:人,地址,电话,电子邮件。所有这些都很自我解释。 People是主表,其他三个表中的每个记录都包含一个外键引用People表。SQL:外部加入一对多关系
我想写一个查询,将在所有四个表上执行外连接。理想的情况下,这里是我想要的结果看起来像:
Name Address Phone Email
Bob 5 Steel Dr 512-222-1358 [email protected]
Bob 212-333-4444 [email protected]
Bob [email protected]
的想法是有地址/电话/电子邮件记录并不重复。 People表格中的信息可以重复,没关系,但我会尽量避免重复其他信息。
这是一个非常非常粗糙的版本,我要去做什么。
select p.name, e.email, a.address
from people p
left join email e on p.pid = e.pid
left join address a on p.pid = a.pid
where p.pid = 1;
虽然它不起作用。它重复所有匹配的记录。
有什么办法可以得到我要去的效果吗?外部连接我有点生疏。
查询似乎是正确的..检查数据.. – scaisEdge